电气工程与自动化学院2012-2013学年第一学期期中考试
《C语言程序设计》 (闭卷 时间120分钟 )
专业: ___ 学号: _____ 姓名: 成绩: 一、单项选择题(每题2分,共40分)
答案在后面答题区填写,否则无效。
1.请选出可用作C语言用户标识符的一组标识符_______。
A) define B) a3_b3 C) –abc D) 2a
2.C语言中,运算对象必须是整型的运算符是__________。
A) % B) / C) %和/ D) *
3.为表示关系x》y》z,正确的C语言表达式是__________。 A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y)&(y>=z)
4. C语言中合法的字符常量是____
A) '\\084'
B) '\\x43'
C) 'ab'
D) \
5. 若变量已正确说明为int类型,要给a,b,c输入数据,以下正确的输入语句是
A) read(a,b,c); B) scanf(“%d%d%d”,a,b,c); C) scanf(“%D%D%D”,&a,%b,%c); D) scanf(“%d%d%d”,&a,&b,&c);
6. 设整型变量a的值为2,则表达式++a+a的值是_________.
A) 4 B)6 C) 8 D) 10
7. 设int c=1和int a=0, a+=2+(c+=c+++(++c)), 则a=__________ A) 8 B) 9 C) 10 D) 12
8.不能正确表达数学逻辑关系“y在x和z之间(x A) (x 9. 不合法的八进制数是________ A) 0 B) 028 C) 077 D)01 10. 设整型变量m,n,a,b,c,d均为1,执行(m=a==b)||(n=a 11. 在以下运算符中,优先级最高的运算符是__________ A) ? : B) ++ C) && D) += 12.在visual C++ 6.0中,结果不等于4的表达式是________ A)sizeof(double) B)sizeof(long) C)sizeof(float) D)sizeof(unsigned long) 13.设a=1,b=2,c=3,d=4,则表达式:a>b?a:c>d?a:d的结果为_______ A)4 B)3 C)2 D)1 14. 在C语言的if语句中,用作判断的表达式为__________ A) 关系表达式 B) 逻辑表达式 C) 算术表达式 D) 任意表达式 15.设有下列程序段,正确的输出是________ char x=’X’,y=’Y’,z=’Z’; putchar(x);putchar(y);putchar(z); A)X B)XYZ C)X,Y,Z D)X□Y□Z Y Z 16.下面程序的功能是计算1+1/2+1/3+??+1/10,错误的语句是______ int i; double sum; i=1; sum=0; do sum+=1/i; while(++i<=10); A)i=1; B)sum=0; C)sum+=1/i; D)while(i<=10); 17. 若变量已正确说明,则以下程序段输出为__________ a=10;b=50;c=30; if (a>b) a=b,b=c;c=a; A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=50 18.下面与while(i)语句条件表达式等价的是________ A)i!=0 B)i==0 C)i!=1 D)i==1 19.下列程序的输出结果是_________ int i=3; while(i--) printf(“%d”,--i); A)1 B)-1 C)0 D)2 20.若k为整型,以下while循环__________次。 int k=10; while (k=0) k=k-1; A) 10次 B) 无限循环 C) 一次不执行 D) 执行一次 选择题答题区 题1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 号 答 案 二、填空(每空1分,共30分) 1. 用C语言的表达式描述a不能被b整除的式子是 2. 字符串“\\\\\\048\\48”在内存中占用的字节数是______个 3. 在内存中存放一个字符串,其最后一个字符是______,其十进制值为_______. 4. 用条件表达式描述求a,b两数中的最大者 5. 设有定义语句char a=’A’,b=’a’;则表达式!a>b的值为________. 6. 假设变量a,b均为整型,以下语句不借助任何变量把a,b中的值进行交换,请填空。 a+= ; b=a- ; a- = ; 7. 设a=12,表达式a+=a-=a*=a运算后a的值是 8. 下列运算符:!=、&&、!、/中,优先级最高的是_____,最低的是______. 9. 017||0360的结果用8位二进制数表示应为___________. 10.在格式输入/输出函数中,“%d”格式可以用于__________型、__________型、__________型、_________型的数据。“%ld”格式可以用于__________型、__________型的数据。对格式输入函数,只可以用于___________型的数据;对格式输出函数,“%f”格式只可以用于__________“%f”格式既可以用于型的数据,“%lf_________”格式型的数据,用可以用于__________型的数据。 11.while循环的特点是先_______后_______. 12.do~while循环的特点是先________后________. 13.continue语句在循环体中执行时提前________循环。 14.在进行赋值运算时,数据类型的自动转换原则是:______________________________ 15.表示“x的绝对值大于5”的表达式是______________________________ 三、程序填空(每空2分,共10分) 1.求输入的两个自然数的最大公约数 #include short num1,num2,gcd; printf(“input num1,num2:”); gcd=______________________; for( ;______________________; ) gcd--; pintf(“The greatest common divisor of %d & %d is :%d\\n”,num1,num2,gcd); } 2.输入一个五位正整数,要求顺序打印出各位数字。如果输入的数字不是五位正整数,则给出出错提示。如56782输出结果:5 6 7 8 2 #include int num; int a,b,c,d,e; printf(“input a integer number (10000-99999):”); scanf(“%d”,&num); if(_________________) printf(“error input! \\n”); else { e=______________________ d=num;num/=10; c=num;num/=10; b=num;num/=10; a=num; printf(“each digit is - - - - -\\n”,___________________); } } 五、编程序(每题10分,共20分) 一、试编写程序输入10个整数,分别统计其中偶数和奇数的个数。 二、用switch~ case结构编程实现输入一个百分制成绩,将其转换为五级记分制成绩并输出结果。具体转换标准为:100~90分→等级A,80~89分→等级B,70~79分→等级C,60~69分→等级D,60分以下→等级E。
相关推荐: