2019年下学期期中C语言试卷
- 格式:docx
- 大小:13.57 KB
- 文档页数:7
2019年下学期期中C 语言试卷
班级:姓名:成绩:
一、选择题(每题3分,共45分)
1.C 语言程序的基本结构是()
A)函数B)语句C)字符D)程序行
2..在C 语言中不同的类型的长度是()
A.固定的B.由用户自己定义的C.任意的 D .与机器字
长有关
3. 已知大写字母A 的ASCII 码值是65,小写字母a 的ASCII 码
是97,则用八进制表示的字符常量’\101’是()。
A .字符A
B .字符a
C .字符c
D .非法的常量
4. 若有代数式cd
ab 3,则不正确的 C 语言表达式是()。
A .a/c/d*b*3
B .3*a*b/c/d
C .3*a*b/c*d
D .a*b/d/c*3
5.在C 语言中,要求运算数必须是整型的运算符是()。
A ./
B .++
D .%
6. putchar 函数可以向终端输出一个()。
A .整型变量表达式值。
B .字符串
C .实型变量值。
D .字符或字符型变量值。
7. 若有定义:int m=7; float x=2.5, y=4.7; 则表达式x+m%3*(int)(x+y)%2/4的值是()。
A .2.500000
B .2.750000
C .3.500000
D .0.000000
8. 若在一个表达式中含有int 、long int 、unsigned int 和char 类型的常量和变量,则该表达式的类型是()
A. int 型
B. char 型
C. unsigned int 型
D. long int 型
9. 在C 语言中,char 型数据在内存中的存储形式是()。
A .补码
B .反码
D .ASCII 码
10. 表达式13/3*sqrt(16.0)/8的数据类型是()。
A .int
B .float
C .double
D .不确定
11. 有如下程序段:
int x1,x2;
char y1,y2;
scanf (”%d%c%d%c ”,&x1,&y1,&x2,&y2);
若要求x1、x2、y1、y2的值分别为10、20、A 、B ,正确的数据输入是()。
(注:└┘代表空格)
A .10A └┘20
B B .10└┘A20B
C .10 └┘A └┘20└┘ B
D .10A20└┘B
12. 有如下程序段,从键盘输入数据的正确形式应是()。
(注:└┘代表空格) float x,y,z;
scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);
A .123
B .x=1,y=2,z=3
C.1,2,3 D.x=1└┘ y=2└┘ z=3
13. 阅读以下程序,当输入数据的形式为:12,34,正确的输出结果为()。
#include ”stdio.h”
main()
{ int a,b;
scanf(”%d%d”, &a,&b);
printf(”a+b=%d\n”,a+b);
}
A.a+b=46 B.有语法错误
C.a+b=12 D.不确定值
14.下列四组(八进制或十六进制)常数中,正确的一组是()
A. 016 0xbf
B. 0abc 0xa
C. 010 x010
D. 0A12 7ff
15. 以下说法正确的是()。
A.输入项可以为一个实型常量,如scanf(”%f”,3.5);
B.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);
D.当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);
二、填空题(每空2分,共20分)
1. 初始化值是0.618的双精度变量a的定义形式是______________
2.整型变量x的值23,语句printf (" %o\n 〃,x) ;的输出结果是________
3.已知定义整型变量int i=5,j,k ;执行语句j=++i ; k=i++ ; 后i=_____, j=______, k=_______.
4.数学表达式中,C语言表达式是__________
5. 以下程序通过键盘输入234b5的执行结果是___________
#include ”stdio.h”
main()
{ charc1,c2;
Scanf(”%3c%c\n”,c1,c2) ;
printf(”c1=%c,c2=%c\n”,c1,,c2);
return 0 ;
}
6. 以下程序的执行结果是________。
#include ”stdio.h”
main()
{ char s=’b’;
printf(”dec:%d,oct:%o,hex:%x,ASCII:%c\n”, s,s,s,s);
}
7.表达式的值9/5+4的值是_____ ; 表达式3*(4+2)%5的值是________.
8. 以下程序输入1└┘2└┘3后的执行结果是________。
(注:└┘代表空格)
#include ”stdio.h”
main()
{ int i,j;
char k;
scanf(”%d%c%d”,&i,&k,&j);
printf(”i=%d,k=%c,j=%d\n”,i,k,j);
}
三、补充程序
1、以下程序实现:输入两个整数,按从大到小顺序输出(8分)
#include ”stdio.h”
main()
{ int a,b,t;
// 输入语句
If( )
printf(”由大到小的排列是:%dj,%d\n”,a,b);
return 0;
}
2. 1、以下程序实现:通过键盘输入英文字母,若小写改为大写,
若大写改为小
写;并输出结果。
(8分)#include ”stdio.h”main()
{ char c;
int a;
if( a >97 )
c=c-32;
else
printf(”%cj\n”,c); return 0;
}。