题 号 分 数 得 分 一 40 二 40 三 60 四 30 五 10 六 20 总分 200 一、填空题:(每空2分,共40分)
1、十进制数125用一个字节的二进制表示是 。
2、源程序经过编译后产生的结果称为 ,其扩展名为 。 3、一个C语言函数由 和 两部分组成。
4、设指针变量fp,打开指定名为“abb.txt”的ASCII码文件只是为了写的表达式为 。
5、在内存中应该开辟 个字节来存放一个字符。 6、字符串”ab\\n\\\\012\\\\\\’”的长度是 。 7、以下程序的输出结果是 。
#include { int i=6,j; j=(++i)+(i++) ; printf(“j=%d\\n”,j); } 8、有int x,y;执行y=(x=1,++x,x+2)后,赋值表达式的值为 。 9、在C语言中,没有专门为存储字符串的变量,但可以用 来存储字符串,其定义格式为 。 10、设x,y,z均为int型变量,请写出描述x,y和z中有两个为负数的表达式: 。 11、下列程序段中循环体的执行次数是 。 a=10; b=0; do {b+=2;a-=2+b;} while(a>=0); 12、定义:int a[3][4]={{1,2},{0},{4,6,8,10}}; 则初始化后,a[1][2]得到的初值是 ,a[2][1]得到的初值是 。 13、下面程序段的运行结果是 。 char x[]=”the teacher”;i=0; while(x[++i]!=’\\0’) if(x[i-1]==’t’) printf(“%c”,x[i]); 14、程序 #include {int j,i=1; j=-i++; printf(“%d,%d\\n”,j,i);} 运行后输出结果为 15、程序 #include {int a=177; printf(“a=%o\\n”,a);} 运行后输出结果为 16、若有以下定义:int a[]={1,2,3,4,5,6,7,8,9,10},*p=a; 则语句:p+=2,*(p++);执行后的结果(值)是 二、选择题:(每题2分,共40分) 1、程序: main() {int a=4,b=3,c=1,d=2,e=0; if(a>b) {if(c>d) e=1;} else e=4; printf(“%d\\n”,e); } 运行结果为( ). B、4、 C、6 D、8 D、\ A、0 2、下列字符中不属于转义字符的是( )。 A、\\n B、\\k C、\\b 3、下面对变量说明正确的是( )。 A、Int a,b,c; B、int x,float y; C、int a,x; D、int a,x 4、以下正确的叙述是( )。 A、在C程序中,每行中只能写一条语句。 B、若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数。 C、在C程序中,无论是整数还是实数,都能被准确无误地表示。 D、在C程序中,运算符%只能用于整数运算。 5、若以下变量均是整型,且num=sum=7,则计算表达式sum=num++,sum++,++num后的值为( )。 A、7 B、8 C、9 D、10 C、x=10,y=10,z=15 D、x=10,y=5,z=10 6、设x,y和z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y和z的值是( )。 A、x=10,y=15,z=10 B、x=10,y=10,z=10 下符合C语言语法的表达式是( )。 A、a+=a-=(b=4)*(a=3) B、a=a*3=2 C、x%(-3) 8、以下说法正确的是( )。 A、输入项可以为一个实型常量,如scanf(“%f”,3.5); D、y=float(i) 7、变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以 B、只有格式控制,没有输入项也能进行正确输入,如scanf(“a=%d,b=%d”); C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%4.2f”,&f); D、当输入数据时,必须指明变量的地址,如scanf(“%f”,&f); 9、以下if语句语法正确的是( )。 A、if(x>0) printf(“%f”,x) else printf(“%f”,-x); B、if(x>0){x=x+y;printf(“%f”,x);} else printf(“%f”,-x); else printf(“%f”,-x); D、if(x>0){x=x+y;printf(“%f”,x)} C、if(x>0){x=x+y;printf(“%f”,x);}; 10、以下叙述中不正确的是( )。 A、预处理命令行都必须以#号开始。 B、在程序中凡是以#号开始的语句行都是预处理命令行。 C、C程序在执行过程中对预处理命令行进行处理。 D、#define IBM_pc是正确的宏定义。 11、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句 c2=‘A’+‘6’-‘3’;后,c2的值为( )。 A、D B、68 C、”0” D、C D、” ” 12、下面不正确的字符串常量是( )。 A、 ‘abc’ B、”12.12” C、”0” 13、以下叙述不正确的是( )。 A、在C程序中,逗号运算符优先级最低。 B、在C程序中,APH和aph是两个不同的变量。 C、若a,b类型相同,在计算a=b后b中的值将放入a中,而b中的值不变。 D、当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入 实型数。 14、已知int x=10,y=20,z=30;执行语句if(x>y) z=x;x=y;y=z;后, x,y,z的值是( )。 A、x=10,y=20,z=30 C、x=20,y=30,z=10 B、x=20,y=30,z=30 D、x=20,y=30,z=20 15、设x,y均为float型变量,则以下不合法的赋值语句是( )。 A、++x; B、y=(x%2)/10; C、x*=y+8; D、x=y=0; 16、C语言中不合法的字符常量是( )。 A、’\\0xff’ 17、程序 main() { int k=2,m=4,n=6; int *pk=&k,*pm=&m,*p; *(p=&n)=*pk*(*pm); printf(“%d\\n”,n); B、’\\029’ C、’\\68’ D、’*’ } 运行结果为( ) B、4 C、6 D、8 A、2 18、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9}; 则语句 for(i=0;i<3;i++) printf(“%d”,x[i][2-i]);的输出结果是( )。 A、1 5 9 B、1 4 7 C、3 5 7 D、3 6 9 B、int a[6]={,1,2,3,4,5}; D、int a[7]={0,0,1,2,3,4,5}; 19、有以下定义语句:int a[]={0,1,2,3,4,5,0};下面选项中与其等价的是( )。 A、int a[7]={0,1,2,3,4,5,0}; C、int a[7]={0,1,2,3,4,5,1}; 20、在程序:main() {int i,j; for(j=1;j<=8;j++) {for(i=1;i<=10;i++) printf(“*”); printf(“\\n”); } 中,内层循环的循环体printf(“*”); 共被执行了( )次。 A、10 B、40 C、60 D、80 三、写出序的运行结果(每题4分,共60分)。 1、若执行以下程序时从键盘上输入9,则输出结果是 main() {int a; scanf(“%d”,&a); if(a++<10) printf(“%d\\n”,a--); else printf(“%d\\n”,a); } { int i=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d”,i,j,k); } 2、main( ) 运行结果为 3、#include main() {int a=-1,b=4,k; k=(a++<=0)&&(!(b--<=0)); printf(“%d,%d,%d\\n”,k,a,b); 运行结果为 fun(int b) 4、 int a=5; {static int a=10; a+=b++; printf(“%d”,a); } main( ) { int c=20; fun(c); a+=c++; printf(“%d\\n”,a); } 运行结果为 5、main() { int x[8]={8,7,6,5,0,0},*s; s=x+3; print(“%d\\n”,s[2]); } 运行结果为 6、#include 运行结果为 7、执行程序: #include putchar(‘#’); } 运行结果为 main() int a=4,b=3,c=5,t=0; if(a>b) t=a;a=b;b=t; 8、程序: if(a 9、程序: int d[5]={2}; main() {int i; int *p=d; for(i=1;i<=4;i++) {d[i]=*p+3;p++;} printf(“%d\\n”,d[4]); } 运行结果为 main() {int a=4; switch(a++) {default:a+=10; case 5:a+=10; case 4:a+=10; break; } printf(“%d”,a); } 运行结果为 main() {int a=0,b=0,i; for(i=0;i<10;i++) if(i%2) a+=i; else b+=i; printf(“%d\%d”,a,b); } 运行结果为 10、程序: 11、程序: 12、程序: main() {int i,j; i=100;j=200; printf(“(i++)+j=%d\\n”,(i++)+j); i=100;j=200; printf(“i+(++j)=%d\\n”,i+(++j)); i=100;j=200; printf(“i+++j=%d\\n”,(i+++j)); } 运行结果为 13、程序: #define MIN(x,y) (x)<(y)?(x):(y) main() {int i,j,k; i=10;j=15; k=10+MIN(i,j); printf(“%d\\n”,k); } 运行结果为 main() {int a=1; while(a<=15) {if(a%3!=0) {a++; continue;} 14、程序: printf(“%d ”,a); a++; } printf(“\\n”);
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- cepb.cn 版权所有 湘ICP备2022005869号-7
违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务