1.下列标识符中,非法的C 语言标识符是( B )。
A )sumB )5ABC )temp_3D )_1232.已知大写字母A 的ASCII 码是65,小写字母a 的ASCII 码是97,则用八进制表示的字符常量'\101'是( A )。
A) 字符A B) 字符a C) 字符e D) 非法的常量3.在C 语言中,以下对一维整形数组a 的正确说明是( D )A) int a(10) B) int n=10,a[n];D) #define SIZE 10 int a[SIZE];4. 以下循环语句哪一个不是死循环: ( B )A).while ( i=10) printf(“OK.”);B).loop: if ((c=getchar())!=’\n’) goto loop;C).do {printf(“Hello.”)} while( -10 ); D).for( ; ; );5. 选出如下对字符数组初始化不正确的选项是 ( B )A).char a[]=”this is a book”;B).char a[]={‘this is a book’} ;C).char a[4]={‘t’,’h’,’e’};D).char a[]={“this is a book”};6.下列数据中,非法的C 语言实型常量是( D )。
A )123.0B )123.567e5C ).1234D )e37.以下定义语句中错误的是( B )。
A )int a=3,b=5;B )float x1; x2;C )char c1,c2,c3;D )double y3, y4;8.若将整数4和5赋给整型变量a 和b ,对于语句scanf("%d%d" , &a,&b);在从键盘输入数据时,正确的数据输入格式为( B )。
A )4,5B )4 5C )4:5D )4#59.若整型变量a 和b 的值分别为6和8,则下列语句printf("a=%d,b=%d",a,b); 的输出结果为( D )。
A )6, 8B )6 8C )a=6 b=8D )a=6, b=810.C 语言中的转义字符\t 的作用是( B )。
A )回车换行B )横向跳格C) int n; scanf (“%d”,&n); int a[n];C)纵向跳至本列下行D)将光标移至本行行首11表达式1,3,5,7的值为( D )A) 1 B) 3 C) 5 D) 712.若int i=10,j=2;则执行i/=j+8后,i的值为 ( B ).A) 0 B) 1 C) 10 D) 1313.设x=7.9,y=2.1,a=1,b=2,则(float)(a+b)/2+(int)x%(int)y的值为( C )A) 1.5 B) 2 C) 2.5 D) 4.514.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2 的值为 ( B )A) 0 B) 1 C) 4 D) 6.515.下面能表示a不等于0的关系的是( D )A)if(a<>0) B) if(!a) C) if(!a=0) D) if(a)16.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为( C )。
A) 0~255 B) 0~32767 C) 0~65535 D) 0~214748364717.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式( B ).A) 从左起输出该字符串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字符串,左补空格D) 输出错误信息18. 以下叙述正确的是( C ) 。
A) 在C程序中,每行只能写一条语句B) 若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C) 在C程序中,%是只能用于整数运算的运算符D) 在C程序中,无论是整数还是实数,都能被准确无误地表示19.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。
则以下不能满足要求的表达式是( C ) 。
A) A%2==1 B) !(A%2==0) C) !(A%2)D) A%220.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( B )。
if(x>y) z=x; x=y; y=z;A) x=10, y=20, z=30 B) x=20, y=30, z=30C) x=20, y=30, z=10 D) x=20, y=30, z=201. C语言中程序的三种基本结构为___顺序_______、__选择__________、______循环____ 。
2.若x为int型变量,则执行以下语句后的x 值为_______-14_________。
x=7; x+=x-=x+x;(X值改变)3. 若s是int型变量,且s=6,执行s%2+(s+1)%2后,表达式的值为_____1________。
4 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为________10___.n的值为____6____________。
5. 表达式1234==1234/3*3的值为__________0_____________。
6.在C语言中,用_____1__ 表示“真”,用____0___ 表示“假”。
7. 一个C源程序中至少包括一个______主____ 函数。
8.#include <stdio.h>void main(){char ch=0x42;“16进制”printf("%d\n",ch);“10”/*屏幕显示_____66______*/printf("%o\n",ch);“8进制”/*屏幕显示____102_____*/printf("%x\n",ch);“16”/*屏幕显示________42____*/printf("%c\n",ch);/*屏幕显示_______B_____*/ }9.若x=3,y=z=4,下列各式的结果是什么?(1)(z>=y>=x)?1:0 ____0_______?前真则输出:前面的(2)z>=y&&y>=x ______1_____(3)x<y?x:y ________3___(4)x<y?x++:y++ ______3_____后面要用到才自加(5)z+=x>y?x++:y++ ______8_____三、程序改错题(13=13×1′)说明:将程序中含有错误的语句进行改正,并将改正后的语句写在横线上。
1. 输入华氏温度,求摄氏温度,公式为:c=5/9(F-32)。
输出结果取2位小数。
main( ){ float c,F;scanf(“%d”,F);改正:_____scanf(“%f”,&F);_____________________c=5/9(F-32); 改正:_________________c=5*(F-32)/9_________printf( “c=%2f”,c); 改正:__________printf(“c=%.2f”,c)__________}2.比较两个字符的大小,按由小到大输出。
include <stdio.h> 改正:________________.#include<stdio.h> __________main(){ char t,c1,c2;getchar(c1); 改正:__________c1=getchar()_________________________ getchar(c2); 改正:_______________c2=getchar()______________________ _____if(c1>c2)t=c1;c1=c2;c2=t;改正if(c1>c2){t=c1;c1=c2;c2=t;}______________________ printf(“%c,%c”,c1,c2);}3. 输入两个整数,求两个数之和。
main(){ float a,b,sum; 改正:____int a,b,sum_;_____________________scanf("%d%d,a,b"); 改正:____scanf(“%d%d”,&a&b)______________________sum=a+b;printf("sum=",sum); 改正:_____printf(“sum=%d”,sum)_____________________}4.从键盘输入两个整数,然后按照从小到大输出。
main(){int a,b,t;scanf(“%d %d”,a,b); 改正:_____________scanf(“%d%d”,&a&b)_____________if(a>b)t=a;a=b;b=t; 改正:________{t=a;a=b;b=t;}__________________else 改正:_______去掉else___________________printf(“%d %d”,a,b);}四、阅读程序并给出程序执行的结果(28=7×4′)。
1.以下程序的输出结果为___________2_________main( ){ int x=2 ,y=-1 ,z=2 ;if(x<y)if(y<0) z=0;else z+=1;printf("%d",z);}2.执行以下程序段后的输出结果为 __0 1 0 1___________ int w=3,z=7,x=10;printf("%d ", x>10 ? x+100 : x-10 );printf("%d ", w++ || z++ );printf("%d ", ! w > z );printf("%d ", w && z );3. 以下程序的运行结果是____11 19 10 19______________ 。
Main(){int i,j,m,n;i=10;j=20;m=i++;n=--j;printf(“%d,%d,%d,%d”,i,j,m,n);}4.若运行时给变量x输入12,则以下程序的运行结果是_____0___________ 。