选择题(本大题20题,每题2分,共40分)
1、下列不是C语言的特点的是(B)
a和C语言简洁紧凑。
b、能够编译功能复杂的程序。
C和C语言可以直接操作硬件。
d和c语言有很好的可移植性。
2.下列不正确的C语言标识符是(D)
a、ABC B、abc C、a_bc D、ab.c
3、一个C语言程序是由(b)组成的
一个主程序和几个子程序
b、功能构成
c、若干流程组成
d,由几个子程序组成
4、一个算法应该具备“确定性”等五个特征,其他四个特征的描述是错误的(B)。
a,有零个或多个输入
b,有零个或多个输出
c、贫困
d、可行性
5.如果变量A是整数,F是实数类型,I是双精度类型,那么表达式10+\’a\’+I * f的值的数据类型就是(c)。
a,int B,float C,double D,不确定性
6.在C语言中,char数据在内存中的存储形式是(D)。
a,补码b,补码c,源代码d,ASCII码
7.输入数据的步骤如下:12345m678 (
# include & ltstdio.h & gt
main(){
int x;
浮动y;
scanf(& # 34;% 3d % f & # 34,& ampx & amp;y);
}
a、B、C、D、345
8.如果int a,b,b定义如下;浮点x,正确的赋值语句是(b)
a、a=1,b=2
b、b++;
c、a=b=5
d、b = int(x);
9.以下过程的执行结果是(a)
# include & ltstdio.h & gt
{
int i=10,j = 10
printf(& # 34;%d,% d \\ n & # 34,++i,j-);
}
甲、乙、丙、丁、十、九
10.已知字母A的ASCII码是65,下面程序的执行结果是(D)。
# include & ltstdio.h & gt
主()
{
char c1 = & # 39一& # 39;,c2 = & # 39Y & # 39;
printf(& # 34;%d,% d \\ n & # 34c1,C2);
A、A、Y B、65、65 C、65、90 D、65、89
11、下列运算符中优先级最高的是(c)
a,< b,十c,% D,!=
12.设x,y,z为int变量,x = 3,y = 4,z = 5,则下面表达式中0的值为(d)。
a、x和amp& amp你好
b、x<=y
c、x | | y+z & amp;& ampy-z
d、啊!((x<y)&&!z ||1)
13.判断char变量cl是否小写的正确表达式是(D)。
a 、\’ a\'<=c1=a)和amp& amp(c1<=z)
c 、( \’ a\’>=c1) (\’z\’ = \’ a \’)& amp;& amp(c1<=\'z \')
14.字符串& # 34;一& # 34;内存中占用的字节数是(c)
a、0 B、1 C、2 D、3
15.下面对for循环的正确描述是(D)。
一、for循环只能在循环次数已经确定的情况下使用。
b、for循环是先执行循环体语句,再判断表达式。
在for循环中,不能用break语句跳出循环体。
d,for循环语句,可以包含多个语句,但要用花括号括起来。
16.下列程序的运行结果是(c)
# include & ltstdio.h & gt
主()
{ int num = 0;
while(num & lt;=2)
{ num++;
printf(\”%d,num \”);
}
}
答、1
b、1 2
c、1 2 3
d、1 2 3 4
17、下列描述正确的是(C)
a、因为do-while循环中的循环体语句只能是可执行语句,所以循环体中不能使用复合语句。
b . do-while循环以do开始,以while结束,while(表达式)后面不能写分号。
c、在do-while循环体中,必须有一个操作可以使while之后的表达式的值变为零(“false”)。
在d和do-while循环中,while可以根据情况省略。
18、下列关于一维塑料阵列的正确描述是a (D)。
a、int a(10);b、int n=10,a[n];
c、int n;d、int a[10];
scanf(\”%d \”,& ampn);
int a[n];
19、下列关于二维数组a的正确描述是(c)
a、inta[3][];b、浮点数a(3,4);
c、双a[1][4];d、浮动a(3)(4);
20.如果二维数组A有m列,则a[i][j]之前的元素个数为(b)。
a、j*m+i
我*m+j
c、i*m+j-1
d、i*m+j+1
二、填空题(此大题共10空,每题2分[/k0/],共20分)。
1.结构化设计中的三种基本结构是_ _顺序、循环和分支结构_ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
2.在C语言中,实变量分为两种类型,分别是_ _单精度型和_ _双精度型。
3.当A = 5,B = 4,C = 2时,表达式A >;b!= c的值是_ _ 1 _ _ _
4.以下程序运行后的输出结果是_ _ _ _ _ _ _ _ _ _ _ _ _ _。
# include & ltstdio.h & gt
主()
{
int i,j;
for(I = 4;我& gt=1;我-)
{ printf(& # 34;* ");
for(j = 1;j & lt= 4-I;j++)
printf(& # 34;* ");
printf(& # 34;\\ n & # 34);
}
5.如果定义的话,int a [3] [4] = {{1,2},{0},{4,6,8,10 } };那么,初始化后,a[1][2]得到的初始值是_ _ _ _ _ _ _ _ _ _ _ A[2][1]得到的初始值是_ _ _ _ _ _ _ _ _ _ _ _ _ _。
6.在C语言中,二维数组元素在内存中的存储顺序是_ _ _ _ _ _ _ _ _ _ _ _ _ _。
三、程序分析题(此大题共2题,每题4分,共8分,描述程序功能,写出程序执行结果)
1 、# include & ltstdio.h & gt
主( )
{int a,s,n,count
a = 2;s = 0;n = 1;count = 1;
while(count & lt;= 7){ n = n * a;s = s+n;++计数;}
printf(\”s=%d \”,s);
}
2 、# include & ltstdio.h & gt
主()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,I,j;
for(I = 0;我& lt3;i++)
for(j = 0;j & lt3;j++)
if(I = = j)sum = sum+a[I][j];
printf(\”sum=%d\\n \”,sum);
}
四、编程题(本大题共4题,每题8分,共32分)
1.编写摄氏温度和华氏温度的转换程序。要求:从键盘输入摄氏温度,屏幕上显示对应的华氏温度,输出两位小数。转换公式:F=(C+32)×9/5。
2.尝试编程判断输入的正整数是否都是5和7的正整数。如果是,则输出是;否则,输出编号
3.判断数字m是否是质数(只能被1和自身整除的整数)?
4.将15个数排序,按从小到大的顺序输出。
C语言程序设计期末试卷(A卷)评分标准及标准答案
1.选择题(共20题,每题2分,共40分)
1、B 2、D 3、B 4、B 5、C
6、D 7、B 8、B 9、A 10、D
11、C 12、D 13、D 14、C 15、D
16、C 17、C 18、D 19、C 20、B
二、填空题(此大题共10空,每题2分[/k0/],共20分)。
1、序列结构分支结构循环结构。
2.单精度类型(或:浮点类型)双精度类型(或;双重类型]
3、 1
4、 *
* *
* * *
* * * *
5、 0 6
6、按主线顺序排列
三、程序分析题(本大题共2题,每题4分,共8分)
如果能正确表达题目的意思和要求,就可以得分,如果有一部分是正确的,就可以按比例得分,否则不得分。
1.函数:求S=0+2+4+8+16+32+64+128的和。
输出结果:s=254
2.函数:计算矩形数组A主对角线上元素的和..
输出结果:27
四、编程题(本大题共4题,每题8分,共32分)
如果能正确表达题目的意思和要求,格式正确,可以得满分,形式不要求一模一样。部分正确可以按比例计分,否则不予计分。
1 、# include & ltstdio.h & gt
主()
{ float c,f;
printf(& # 34;输入c:& # 34;);…………………………………..2分。
scanf(& # 34;% f & # 34,& ampc);…………………………………..2分。
f =(c+32.0)* 9.0/5.0;…………………………………..2分。
printf(& # 34;F = % .2f \\ n & # 34,f);…………………………………..2分。
}
2 、# include & ltstdio.h & gt
主()
{ int x;
scanf(& # 34;% d & # 34,& ampx);…………………………………..2分。
if(x % 5 = = 0 & amp;& ampX% 7 = = 0)……………………………………2分。
printf(& # 34;是的& # 34;);…………………………………..2分。
其他
printf(& # 34;不& # 34;);…………………………………..2分。
}
3、# include & ltstdio.h & gt
# include & ltmath.h & gt
主()
{int m,I,k;
scanf(& # 34;% d \\ n & # 34,& ampm);
k = sqrt(m);…………………………………..2分。
for(I = 2;我& lt= k;I++)…………………………………2分。
{if(m%i==0)
打破;…………………………………..2分。
}
如果(i & gtk)
printf(& # 34;m是质数!\\ n & # 34);…………………………………..2分。
}
4、# include & ltstdio.h & gt
主()
{int i,j,a[15],t;
printf(& # 34;输入15个数字:\\ n & # 34);
for(I = 0;我& lt15;i++)
scanf(& # 34;% d & # 34,& ampa[I]);…………………………………..2分。
for(j = 0;j & lt15;J++)…………………………………….2分。
for(I = 0;我& lt15-j;I++)…………………………………2分。
if(a[I]& gt;a[i+1])
{ t = a[I];a[I]= a[I+1];a[I+1]= t;} …………………………………….2分。
for(I = 0;我& lt15;i++)
printf(& # 34;% 6d & # 34,a[I]);
}
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。