嘉兴学院2022年C语言期末测试卷
本试卷为嘉兴学院2022年C语言期末测试卷,题目包括:单项选择题,判断题,填空题,程序分析题,编程题。
覆盖的内容包括:理论题,基础知识,控制结构,循环结构,指针,数组/指针数组,字符串/字符串指针,函数/函数指针,程序题,结构体,文件。
C语言期末测试卷
一、单项选择题 (共20题,每题2分,共计40分)
( B )
1、已知字母a的ascⅱ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是________。
( B )
2、若变量a,b已正确定义,且b已正确赋值,则合法的语句是________。
( D )
3、有以下程序
struct stu
{
int num;
float totalscore;
};
void f(struct stu p)
{
struct stu s[2]= {{20044,550}, {20045,537}};
p.num = s[1].num;
p.totalscore = s[1].totalscore;
}
main()
{
struct stu s[2]= {{20041,703} ,{20042,580}};
f(s[0]);
printf("%d %3.0f\n", s[0].num, s[0].totalscore);
}
程序运行后的输出结果是________。
( C )
4、#include <stdio.h>
main()
{
char a,b,c,d;
scanf("%c%c",&a,&b);
c=getchar();
d=getchar();
printf("%c%c%c%c\n",a,b,c,d);
}
当执行程序时,按下列方式输入数据(从第一列开始,<cr>代表回车,注意:回车是一个字符) 12<cr> 34<cr> 则输出结果是:________。
( B )
5、c 语言共用体类型变量在程序运行期间 。
( B )
6、以下描述错误的是_________。
( D )
7、下列一维数组初始化语句中,正确且与语句 float a[ ]={ 0,3,8,0,9}; 等价的是 __________.
( B )
8、若有下列说明和语句,则对结构体变量st中成员i的引用方式不正确的是________。
struct stu
{
int i;
int name;
} st,*p;
p=&st;
( C )
9、若有函数max(a,b),为了让函数指针变量p指向函数max,当调用该函数时,正确的赋值方法是________。
( C )
10、计算机之所以能按人们的意志自动进行工作,最直接的原因时因为采用了______。
( B )
11、一个字长为8位的无符号二进制整数能表示的十进制数值范围是________。
( D )
12、对两个数组a和b进行如下初始化: char a[]="abcdef"; char b[]= {'a','b','c','d','e','f' } 则以下叙述正确的是________。
( A )
13、下列对字符数组进行初始化的语句正确的是________。
( B )
14、下列说法中正确的是________。
( C )
15、以下四个程序中,完全正确的是______。
( A )
16、对于函数声明 void fun(int a[1],int*b); 以下叙述中正确的是________。
( C )
17、以下叙述中正确的是________。
( D )
18、若二维数组a 有m 列,则计算任一元素a[i][j] 在数组中位臵的公式为(假设a[0][0] 位于数组的第一个位臵上) ________。
( D )
19、判断字符串a 和b 是否相等,应当使用。
( B )
20、下列各 m 的值中,能使 m%3==2&&m%5==3&&m%7==2 为真的是()。
二、判断题 (共10题,每题2分,共计20分)
( T )
1、关系表达式的值是一个逻辑值,即"真"或"假",并且用0表示"假",用1表示"真"。
( T )
2、字符数组定义后,不能用赋值语句将一字符串常量或字符数组直接赋给一个字符数组。
( F )
3、实型常量分为float型和double型。
( T )
4、对于一个具体的函数来说,实参与形参必须一一对应。
( F )
5、在c语言的嵌套循环结构中,任何一层循环中的brea语句都可以结束整个嵌套循环的执行。
( F )
6、数组的下标都有一个范围,即"0 ~ 数组长度"。
( F )
7、c语言中非标准输入输出设备指的是键盘和显示器。
( F )
8、以"a"方式打开一个文件时,文件指针指向文件首。
( F )
9、putchar 函数可以向终端输出一个字符串
( T )
10、如果函数定义出现在函数调用之前,可以不必加函数原型声明
三、填空题 (共5题,每题4分,共计20分)
1、设有变量定义: int a=10,c=9; 则表达式(--a!=c++)?--a:++c 的值是________。
2、局部变量又称内部变量,是在函数( )定义的变量。
3、下列程序段的运行结果是________。
main()
{
int m=1,t=1;
for( ; ; )
{
m=m+t ;
t++;
if(m>9) break ;
}
printf("%d\n",m);
}
4、数学表达式a<b<=c改写为c语言表达式是__________。注:表达式要在英文半角状态下按原表达式顺序书写,且表达式中不要留空格。
5、C语言函数是由函数首部和函数体两部分组成。其中,函数首部包括 函数类型、函数名和______。
四、程序分析题 (共4题,每题5分,共计20分)
1、一个c程序总是从_____________函数开始执行的。
2、下面程序的运行结果是________。
#include<stdio.h>
main()
{
int i,j;
for(i=4;i>=1;i--)
{
for(j=1;j<=i;j++) putchar('#');
for(j=1;j<=4-i;j++) putchar('*');
putchar('\n');
}
}
3、当从键盘输入-1 0<cr>, 则以下程序的运行结果是________。
#include<stdio.h>
main()
{
int a,b,m,n;
m=n=1;
scanf("%d%d",&a,&b);
do
{
if(a>0)
{
m=2*n;
b++;
}
else
{
n=m+n;
a+=2;
b++;
}
}
while(a==b);
printf("m=%d n=%d\n",m,n);
}
4、若运行以下程序时,从键盘输入adescriptor↙,则下面程序的运行结果是________。
#include <stdio.h>
void main()
{
char c;
int v0=0,v1=0,v2=0;
do
{
switch(c=getchar())
{
case’a’:
case’a’:
case’e’:
case’e’:
case’i’:
case’i’:
case’o’:
case’o’:
case’u’:
case’u’:v1+=1;
default:
v0+=1;
v2+=1;
}
}
while(c!=’n\’);
printf("v0=%d,v1= %d, v2= %d\n", v0, v1, v2);
}
五、编程题 (共3题,每题0分,共计50分)
1、编写程序,求s=1+(1+2)+….+(1+2+….+10)
2、编写程序:用结构体和函数处理学生成绩,学生信息包括:学号 姓名 3门课成绩 平均分 1)用input函数来输入数据和求各学生的平均成绩 2)用max函数来找平均分最高的学生 3)用print函数输出成绩最高学生的信息
3、编写程序:字符串反转,如将字符串 "abc-123-xyz" 反转为 "zyx-321-cba"。
相关标签:
- C语言
- 嘉兴学院
- 期末测试卷