资源描述
C语言月考试卷
总分:100分 姓名:
一、 选择题(每题2分,共30分)
1、字符型数据在机器中是用ASCII码表示,字符“5”和“7”在机器中表示为( )
A、10100011和01110111 B、01000101和01100011
C、00110101和00110111 D、01100101和01100111
2、下列可用于C语言用户标识符的一组是( )
A、void, befine, WORD B、a3_b3, _123, Car
C、For, -abc, IF Case D、2a, DO, sizeof
3、C语言中unsigned int型数据的取值范围为( )
A、0~255 B、0~32767 C、0~65535 D、0~2147483647
4、设有int x=11; 则表达式 (x++*1/3)的值是( )
A、3 B、4 C、11 D、12
5、C语言规定,在一个源程序中,main函数的位置( )
A、必须在最开始 B、必须在系统调用的库函数的后面
C、可以任意 D、必须在最后
6、printf( )中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度小于5,则输出方式( )
A、从左起输出该字符串,右补空格 B、按原字符长从左至右全部输出
C、右对齐输出该字符串,左补空格 D、输出错误信息
7、若有定义:int a=7; float x=2.5, y=4.7; 则表达式x+a%3*( int ) ( x+y ) %2/4的值是( )
A、2.500000 B、2.75000000 C、3.5000000 D、0.000000
8、若变量a是int 类型,并执行了语句:a=’A’+1.6,则正确的叙述是( )
A、a的值是字符c B、a的值是浮点型
C、不允许字符型和浮点型相加 D、a的值是字符‘A’的ASCII值加上1
9、long a; 表达式sizeof(a)的结果为( )
A、1 B、2 C、4 D、8
10、有如下定义:int a;char ch;,以下赋值表达式错误的是( )
A、a=(3,4,5) B、ch=“a” C、ch=‘a’ D、a=3
11、以下运算符优先级从高到低正确的是( )
A、sizeof, &= ,!= ,&& B、!= , sizeof , &= , &&
C、sizeof, !=, && ,&= D、sizeof, && ,!= ,&=
12、若i为整形变量,则以下循环执行次数是( )
for(i=2;i==0;) printf(“%d”,i--);
A、无限次 B、0次 C、执行4次 D、执行3次
13、下列程序段的输出结果是( )
int a=1234; float b=123.456; double c=12345.54321;
printf( “%2d, %2.1f, %2.1f”, a, b ,c);
A、无输出 B、12,123.5,1245.5
C、1234,123.5,12345.5 D、1234,123.4,1234.5
14、设有如下程序段
int x=0,s=0; while (!x!=0) s+=++x; printf (“%d”,s);则
A、运行程序段后输出0 B、运行程序段后输出1
C、程序段中的控制表达式是非法的 D、程序段执行无限次
15、若运行时给变量x输入12,则以下程序的运行结果是( )
main( )
{ int x,y; scanf (“%d,&x); y=x>12?x+10:x-12; printf(“%d\n”,y);}
A、0 B、22 C、12 D、10
二、 填空题(每空1分,共20分)
1、C语言中,基本数据类型包括 、 和 三种。
2、调用C语言标准库函数时要求用 命令。
3、在计算机中,字符的比较是对它们的 进行比较。
4、调用gets和puts函数时,必须包含的头文件是 。
5、表达式12%-5的结果为 。
6、int x=5;则表达式x/2的值为 ,x/2.0的值为 。
7、设a=b=11,表达式b-=a*=a/5的值为 。
8、设a=2,b=3,c=4,表达式‘c’&&‘d’||!(3+4)和!(a+b)+c-2&&a-c/2的值分别为 和 。
9、定义int x=1,y=2,z=3;执行z+=x>y?x++:--y后,x,y,z的值分别为 、 、 。
10、表达式a=(a=4,5*a,a++)的值为 。
11、设a=0,b=1,则表达式!--b||a的值为 ,!b--||a的值为 。
12、设float x=1.2,y=4.5;表达式(int)(x+y)的值为 型,(int)x+y的值为 型。
三、 程序分析(每空3分,共18分)
阅读下列各程序,按要求完成各题。
1、 #define MIN( x, y ) ( x ) < ( y ) ? ( x ) : ( y )
main( )
{ int i=10, j=15, k;
k=10*MIN( i ,j );
printf( “%d\n”, k);}
该程序运行结果为
2、main( )
{ int x=85;
printf(“x=\t%d\t%o\t%x/\t\x78”,x)}
该程序运行结果为
3、下列程序的功能是计算1至10之间的奇数之和及偶数之和,在每根横线上补充一个语句,使程序完整。
#include <stdio.h>
main( )
{ int a ,b ,c,i; ;
for(i=0;i<=10;i+=2)
{ a+=i; ; c+=b;}
printf(“偶数之和=%d\n“,a);
printf(“奇数之和=%d\n“, );}
4、main( )
{ char ch; ch=getchar( );
if(ch>=’A’&&ch<=’Z’) printf(“%c”,ch+32);
if(ch>=’a’&&ch<=’z’) printf(“%c”,ch-32);
四、 程序改错(每空3分,共12分)
下列程序有四个语法错误,请改正,不得增行或减行。
#include<stdio.h>;
main( )
{ char ch1,ch2; int a=5;
ch1=gets(ch1); scanf(“%c\n”,ch2);
printf(“%f\n”, float a+ch2);}
1、 2、
3、 4、
五、 编写程序(20分)
1、 求1+3+7+……+99的和。(8分)
2、任意输入一个四位数,判断是否为回文数。(回文数是指正读反读均一样的数,如2882为回文数)。(12分)
4
展开阅读全文