1、C语言提供的合法的数据类型关键字是
单片机C语言练习题

5.下述程序的输出结果是。
main ( )
{ int a=0,b=0,c=0;
if (++a>0 | | ++b>0)
++c;
printf(“%d,%d,%d”,a,b,c);
}
A)0,0,0 B)1,1,1 6.以下程序输出结果是
C)1,0,1 。
D)0,1,1
main ( )
{ int x=1,y=0,a=0,b=0;
。
6、数学表达式 1<=a<=3
的 C 语言表达式为
。
7、已知:char a=’a’,b=’b’,c=’c’,unsigned int i;则表达式 i=a+b+c 的数值为
。
8、已知 int a=12,n=5;则:表达式运算后 a 的值各为
。
a+=a
a-=2
a*=2+3
a/=a+a
n%=(n%=2)
switch(x) {
case 1:switch (y) {
case 0 : a++ ; break ;
case 1 : b++ ; break ;
}
case 2:a++; b++; break;
case 3:a++; b++;
}
printf(“a=%d,b=%d”,a,b);
}
A)a=1,b=0 B)a=2,b=1 C)a=1,b=1 D)a=2,b=2
A)①和② B)②和③ C)①和③ D)③和④
16、逻辑运算符两侧运算对象的数据类型( )
C语言第三章数据类型和运算符及表达式复习题

数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768 b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0 d) 1.3E10. 以下合法的八进制数是()a) 0135 b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019 b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5) d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设k和x均为int型变量,且k=7;x=12;则能使值为3的表达式是()a) x%=(k%=5) b) x%=(k-k%5)c) x%=k-k%5 d) (x%=k)-(k%=5)19. 若a,b,c 均被定义成整型并已赋大于1的值,能正确表示代数式cb a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式zy x ⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z 21. 不能正确表示代数式d c ba ⋅⋅的C 语言表达式是( )a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( )a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( )a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x;25. 有以下程序:main(){ int y=1111;printf(“y=%6d\n ”,y);printf(“y=%+06d\n ”,y);}程序运行的结果是:( )a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序:main(){ int y=456;printf(“*y=%7o*\n ”,y);printf(“*y=%-7o*\n ”,y);printf(“*y=%07o*\n ”,y);}程序运行的结果是:( )a) *y= 710* b) *y= 456**y=710 * *y=456 **y=* *y=*c) *y=710* d) *y=456**y=-710* *y=-456**y=0710* *y=0456*27. 有以下程序:main(){ float y=3.667;printf(“*%f*\n”,y);printf(“*%7.2f*\n”,y);printf(“*%8.0f*\n”,y);}程序运行的结果是:()a) *3.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格)**1.0**2.0<回车> 分别给a,b输入1,2,则能正确进行输入的语句是()a) scanf(“%f%f”,&a,&b);b) scanf(“%5.1lf%5.1lf”,&a,&b);c) scanf(“%lf%lf”,&a,&b);d) scanf(“%5e%5e”,&a,&b);29. 以下合法的定义语句是()a) short _auto_=100-1;b) double b=1+5e2.5;c) long do=1l;d) float 2_and=1e-3;30. 以下选项中不是C语句的是()a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;}31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是()a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2;32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是()a) 把x和y从小到大排列b) 把x和y从大到小排列c) 无确定结果d) 交换x和y中的值33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是()a) a=20000+20000; b) a=4000*10;c) k=400;a=k*100; d) a=4000;a=a*10;34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是()a) 1.4 b) 1 c) 2.0 d) 235. 有以下程序:main(){ int k=2,i=2,m;m=(k+=i*=k++);printf(“y=%d,%d\n”,m,i);}程序运行的结果是:()a) 8,6 b) 8,3 c) 6,4 d) 7,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序:main(){ int i; long l ; float f ; double d ;i=f=l=d=20/3;printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d);}程序运行的结果是:()a) 6 6 6.0 6.0 b) 6 6 6.7 6.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768 d) b=-139.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是______.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是______.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_____.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是_______.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为______.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是___,变量x的值是___,变量y的值是____.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是_____,变量y的值是_______。
C语言考试题库及答案

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业)1、下面程序的输出是___D______#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是__D______.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是______A____.A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9的值是________D____.A) true B) 非零值C) 0 D) 15、C语言提供的合法的数据类型关键字是_____B____.A) Double B) short C) integer D) Char6、字符(char)型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC码D) ASCII码7、C语言程序的基本单位是_____C______.A) 程序行B) 语句C) 函数D) 字符8、设int a=12,则执行完语句a+=a-=a*a后,a的值是____D____A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是____B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010、下面程序的输出是____B______.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411、下面程序的输出的是_____C____.#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A的ASCII码为十进制的65,下面程序的输出是______A_____.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值13、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为____D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____D_____.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是_____D_____.A) 1 B) 0 C) 4 D) 316、为表示关系x≥y≥z,应使用C语言表达式___A___.A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z) C) (x>=y>=z) D) (x>=y) & (y>=z)17、C语言中非空的基本数据类型包括____B____.A) 整型,实型,逻辑型B) 整型,实型,字符型,枚举型C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是____A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h>void main(){char ch;scanf("%3c",&ch);printf("%c",ch);}如果从键盘上输入abc<回车>则程序的运行结果是__A_____.A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是____D____.A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);} 程序的运行结果是______C____.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1122、已知a=12,则表达式a+=a-=a*=a的结果是_____A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是____D____.A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是____D____.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,326、下面程序的输出结果是____A____.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,027、执行下面程序段后,输出结果是____A____.int a;int b=65536;a=b;printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是____B_____.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_____B____.A) 2.4 B) 2.5 C) 2.75 D) 030、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是____C____.A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是____D____.#include<stdio.h>void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332、设有以下语句:int x=10;x+=3+x%(3),则x的值是.____A_____A) 14 B) 15 C) 11 D) 1233、若d为double型变量,则表达式d=1,d+5,d++的值是_____D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3的值是____D____.A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值______A____.A) 0 B) 1 C) 12 D) 636、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C语言中,以下叙述不正确的是_____A____.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符____C____.A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y值的数据类型是___D____.A) float B) char C) int D) double40、一个C语言的执行是从_____A______.A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是____A____.A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_____C____.#include <stdio.h>void main( ){ int a=5,b=60,c;if (a<b){c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 1243、如果c为字符型变量,判断c是否为空格不能使用____A____.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')44、运行下面程序时,若从键盘输入"3,5<CR>",则程序的输出结果是____D____.#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y)printf("x==y");else if (x>y)printf("x>y");elseprintf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45、运行下面程序时,若从键盘输入数据为"6,5,7<CR>",则输出结果是____C___.#include <stdio.h>void main( ){ int a,b,c;scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c)printf("%d\n",a);elseprintf("%d\n",c);elseif (b>c)printf("%d\n",b);elseprintf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是____A____.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1047、运行下面程序时,从键盘输入"2.0<CR>",则输出结果是___B_____.#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是____A____.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=149、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是___A___.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是_____C___.#include <stdio.h>void main( ){ char ch;ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_____A____.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 452、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是__B___.A) Z B) a C) z D) A53、下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 054、运行下面程序时,若从键盘输入"5 <CR>",则程序的输出结果是_____B___.#include <stdio.h>void main( ){ int a ;scanf("%d",&a);if (a++>5)printf("%d\n",a);else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是____B___.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 20 56、下列程序的执行结果是_____D____.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,157、假定等级和分数有以下对应关系:等级:A 分数:85~100等级:B 分数:60~84等级:C 分数:60 以下对于等级grade输出相应的分数区间,能够完成该功能的程序段是____D____.A) switch (grade){case 'A':printf("85--100\n");case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf("等级错误!\n");}B) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");case 'C':printf("60以下\n");default:printf(" 等级错误!\n");}C) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");default:printf("等级错误!\n");}D) switch (grade){case 'A':printf("85--100\n");break;case 'B':printf("60--84\n");break;case 'C':printf("60以下\n");break;default:printf("等级错误!\n");}58、能够完成如下函数计算的程序段是__B____.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;59、有如下程序#include <stdio.h>void main( ){ float x=5.0,y;if(x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf("%f\n",y);}该程序的输出结果是____C_____.A) 0.000000 B) 0.50000C) 0.200000 D) 1.00000060、以下程序的执行结果是___B_____.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird61、以下程序的执行结果是____A____.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 2562、有如下程序:#include <stdio.h>void main( ){ int a=2,b=-1,c=2;if (a<b)if (b<0) c=0;else c++;printf("%d\n",c);}该程序的输出结果是___C_____.A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是____B____.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息64、有如下程序#include <stdio.h>void main( ){ int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是______A____.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是____C_____.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是____D_____.A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D______.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入9,则输出结果是.______B________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 869、以下程序输出结果是_____D_____.#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--);else printf("%d\n",--m);}A) 7 B) 6 C) 5 D) 470、若执行下面的程序从键盘上输入5,则输出结果是. #include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是____A____.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是____A____.A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123",则输出结果是___C____.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,174、执行下列程序后的输出结果是___D____.#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 175、以下条件表达式中能完全等价于条件表达式x的是____B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a输入15,则输出结果是___A___.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1077、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是____C____.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####79、为了避免嵌套的if-else语句的二义性,C语言规定else总是与___C___组成配对关系.A) 缩排位置相同的if B) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t均为int型变量,则执行以下语句后,t的值为____C_____.x=y=z=1;t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段____C______.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B____.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____C____.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息84、下面程序的运行结果是____B____.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,985、下面程序段的运行结果是____B______.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息86、下面程序段的运行结果是___D_____.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2087、下面程序的运行结果是___B_____.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 688、函数pi的功能是根据以下近似公式求π值:____C______(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。
C语言基础部分练习题

C语言基础部分练习题第1单元C语言基础知识一、单项选择题1.是构成C语言程序的基本单位。
A.函数B.过程C.子程序D.子例程2.以下叙述中正确的是______。
A.构成C程序的基本单位是函数B.可以在一个函数中定义另一个函数C.main()函数必须放在其它函数之前D.所有被调用的函数一定要在调用之前进行定义3.下述正确的C语言常量是A.E2B.1.5E2.3C.5.OED.3e-34.下列计算机语言中,CPU能直接识别的是______。
A.自然语言B.高级语言C.汇编语言D.机器语言5.设int某=1,y=1;表达式(!某||y--)的值A.0B.1C.2D.-16.是C语言提供的合法的数据类型关键字。
A.FloatB.ignedC.integerD.Char7.不合法的常量是A.’\\2’B.\‘’D.\8.以下选项中合法的实型常数是______。
A.5E2.0B.E-3C..2E0D.1.3E9.以下选项中合法的用户标识符是______。
A.longB._2TetC.3Dma某D.A.dat10.已知大写字母A的ASCII码是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\\101'是______。
A.字符AB.字符aC.字符eD.非法的常量11.在C语言中,设int型占2字节,下列不正确的int型常数为A.32768B.0C.037D.0某af12.在通常微机上的C语言中,int类型数据占用(1)个字节存储;unignedint类型数据占用(2)个字节存储;hort类型数据占用(3)个字节存储;long类型数据占用(4)个字节存储。
A.1B.2C.4D.813.在C语言中,合法的字符常数是A.’\\084’B.’\\某42’C.’\\84’D.”\\0”14.下列不正确的转义字符是A.‘\\\\’B.’\\’’C.‘074’D.’\\0’15.下述语句的输出为int某=-1;printf(“%d,%u,%o”,某,某,某);A.-1,-1,-1B.-1,32767,-177777C.-1,32768,177777D.-1,65535,17777716.在C语言中,要求参加运算的数必须是整数的运算符是A./B.!C.%D.==17.下列语句中,符合语法的赋值语句是A.a=7+b+c=a+7;B.a=7+b++=a+7C.a=7+b,b++,a+7D.a=7+b,c=a+718.下述程序的输出结果是#includevoidmain(){inta=2;a%=4-1;printf(“%d,”,a);a+=a某=a-=a某=3;printf(“%d”,a);}A.2,OB.1,OC.-1,12D.2,1219.下述正确的语句是A.int某=y=z=0;B.intz=(某+y)++;C.某=+3==2;D.d%=2.5;20.下述程序的输出是#includevoidmain(){inta=011,b=101;printf(“\\n%某,%o”,++a,b++);}A.12,145B.9,144C.a,145D.a,521.以下非法的赋值语句是______。
选择题

章节作业--第1次作业:10题1、以下叙述正确的是: DA) 在C程序中,主函数必须位于程序的最前面B) 在C程序中,一行只能写一条语句C) C程序的基本结构是程序行D) C语句是完成某种程序功能的最小单位2、在C语言的变量类型说明中,int,char,float等类型的长度是:DA) 固定的B) 由用户自己定义的C) 任意的D) 与机器字长有关的3、以下能正确定义变量a、b和c并为其赋值的语句是:DA) int a=5; b=5; c=5; B) int a,b,c=5;C) a=5, b=5, c=5; D) int a=5, b=5, c=5;4、C语言所提供的基本数据类型包括字符型、整型、双精度型、单精度型和_D___:A) 指针型B) 结构型C) 数组型D) 枚举类型5、在C语言中,下面合法的长整型数是: AA) 0L B) 4967C) 0.054838743 D) 21.869e106、若有说明语句:char c='\101'; 则变量c: AA) 包含一个字符B) 包含两个字符C) 包含三个字符D) 说明不合法7、以下对整数的书写形式中,错误的是: CA) 7000L B) 17000LC) -3078u D) 327678、表达式5!=3的值是:DA) T B) 非零值C) 0 D) 19、若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是: CA) 5.5 B) 5C) 3 D) 4.010、C语言提供的合法的数据类型关键字是BA) Double B) short C) integer D) Char章节作业--第2次作业:10题1、为表示关系x≥y≥z,应使用C语言表达式AA) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)C) (x>=y>=z) D) (x>=y) || (y>=z)2、若有以下定义: int a,b,c1,c2,x,y; 则正确的switch 语句是DA) switch(a+b); B) switch(a*a+b*b){ case 1:y=a+b;break; { case 3:case 2:y=a-b;break; case 1:y=a+b;break;} case 3:y=b-a;break;}C) switch a D) switch(a-b){ case c1:y=a-b;break; { default:y=a*b;break;case c2:y=a*d;break; case 3:default:x=a+b; case 4:x=a+b;break;} case 10:case 11:y=a-b;break;}3、语句:printf("%d",(a=2) && (b=-2));的输出结果是DA)无输出B)结果不确定C)-1 D)14、选择出合法的判断a和b是否相等的if语句(设int x,a,b,c;)。
c语言选择题及答案

1﹑以下选项中不合法的用户标识符是( C )。
A)_123 B)PP C)A$ D)Dim2﹑C语言提供的合法数据关键字是( A )。
A)float B) Sagned C) Integer D) ing3﹑判断char型变量c1是否为小写字母的正确表达式为 ( D )。
A) 'a'<=c1<='z' B) (c1>=A. &&(c1<='z')C) ('a'>=c1)||('z'<=c1) D) (c1>='a')&&(c1<='z')4﹑C语言可执行程序开始执行点为( C ).A)程序中第一条可执行语句 B) 程序中第一个函数C)程序中的main函数D) 包含文件中的第一个函数5﹑以下说法中正确的是( C ).A)C语言程序总是从第一个定义的函数开始执行B)在C语言程序中,要调用的函数必须在main函数中定义C)C语言程序总是从main函数开始执行D) C语言程序中,main函数必须放在程序的开始部分6﹑设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是( C )。
A)if(a>b) c=a,a=b,b=c; B)if(a>b) {c=a,a=b,b=c;}C)if(a>b) c=a;a=b;b=c; D)if(a>b) {c=a;a=b;b=c;}7﹑若有说明和语句:int a=5,b;b=a++;此处变量b的值是( C )。
A)7 B)6 C)5 D)8﹑以下程序的输出结果是( D )。
int x=10,y=10;printf("%d %d\n",x--,--y);A) 10 10 B) 9 9 C) 9 10 D) 10 9 9﹑C语言用( C )表示逻辑“真”值。
(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档

一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。
A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。
A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。
A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。
C语言程序设计习题集(学校题库)

2010-2011 第一C语言程序设计一、填空题1. 每一个C程序都必须有一个____函数。
2. C程序是由____构成的。
3. TC集成开发环境中,用热键______查看运行结果。
4. 浮点数3*108写成C语言指数格式为_____(最简格式)。
5. TC控制字符'\r'表示____。
6. 字符串"abc\r\x41\x42\\"中有效字符个数是__。
7. 求表达式的值:123/10%10=___________ 。
8. 已知:a=3,b=4,c=5,求a=(b++)+c运算后a的值为:___________9. 用于从键盘读入一个字符但不回显的是__。
10. 执行语句if((x=4+3)==3)y=5;else y=10;后,结果:y=_______11. 执行语句if(!5)y=5;else y=10;后,结果:y=_____12. C语言是以( )为单位进行编译的。
第 1 页/共62 页13. 定义函数时在数据类型前面加static和extern分别表示定义____函数和____函数。
14. 内部函数的作用域只限于一个____。
15. 外部函数的作用域只限于一个____。
16. 有序线性表能进行二分查找的前提是该线性表必须是____ 存储的。
17. 对软件设计的最小单位(模块或程序单元)进行的测试通常称为____测试。
18. 实体完整性约束要求关系数据库中元组的____属性值不能为空。
19. 在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称____是关系A的外码。
20. 字符(char)型数据在微机内存中的存储形式是____21. 输入一个五位整数,将它反向输出。
例如输入12345,输出应为____。
22. C语言程序的基本单位是____ 。
23. C语言程序的三种基本结构是____。
24. C语言可执行程序的开始执行点是____ 。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、C语言提供的合法的数据类型关键字是我们在运行程序时,使用的方法不是简单的对程序执行过程,而是提供了合法的数据类型关键字。
我们知道用 C语言来运行程序,必须首先定义合法的数据类型关键字,否则不能运行程序。
因此我们要选择一个合理的方式来进行定义。
这里选择“合法”主要是因为程序在运行时是由一个初始化后的数据所组成。
如果是运行在初始化后的数据,那么只能是一些比较小的变量,或者小得不能再小的数据类型。
我们不能用传统的数据类型来定义程序数据,必须要通过合法的数据类型定义程序数据的类型,只有这样才能使用我们所提供的函数给我们的程序提供合理的参数。
当然使用我们所提供的函数时,我们也可以选择使用合法的数据类型定义程序数据的类型。
当我们使用函数时,必须要给变量(例如函数 length)一个合法的值(例如 length),那么我们必须要给变量注入一个定义文本或函数 null来表示它们(当这个变量不存在时)。
我们会在定义里指定要赋予该变量数据的特殊类型名称和函数类型:数据类型是什么呢?1、数组定义数组在 C语言中被定义为二进制的长度单位,使用的 C语言代码就是这样定义的:数组的长度单位是"m_t_com_n_in_c_d_ni_c_in_b_nol_d_com_in_r_b_rg_c_t_p_t_p_b''"""""""""""""""'"""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""" """""""""""""""""""""""""""""""""""""""""""""""""""""""""''""也可以使用一些其他数据类型关键字来表示它和其他数组的不同之处:数组可以按整数、整组、零数、半整数或者半句(或字符串)分类存储。
数组可以保存一个名,也可以一个名保存多个组别(单元格),或者一组单元格是一个字符串表示单个字符。
这样代码就简洁了。
看下这些定义:如下所示:首先是数组定义部分:说明一:为什么要给数组??为什么必须通过这个字来进行定义2、变量定义下面两个例子的定义与前面例子有一些不同之处。
前面例子中有一个参数。
这个参数是一个变量,有六个字符,表示第 i个字符代表的含义:如果要给这个函数赋予它一个指定字符值,需要对这个函数注入一个规定字符值(null),这个方法相当于给这个函数注入了一个参数,定义文本里写着:当该函数不存在时,这个参数就成为一个空的参数。
另外当该函数有其他数据类型时,也会用 null替代它,或者在参数存在时选择一个值代替它,但是这种情况下还需要对这个参数注入 null才行。
当我们用某个数据类型给某函数加上这个数值后被赋予数据的含义,那么它会被赋给函数:= key/null.如果我们将此数值写入了 null.那么这个 length就是被赋值的函数了:= key/null.在这里我们使用函数 key/null.= key作为变量时:用 length.= key/null.即当该函数的 null值为0 (如果 key只有一个值)时:则用: length.= key/null.这就是输出结果中的值了:= key/null.值可以用不同值代替:= key/null.这样也可以减少输出错误。
那么数据类型如何定义呢?3、内存类型定义C语言中的内存是存储程序运行时,内存空间的大小。
由于内存定义的内容比较多,所以 C 语言中定义的内存类型一般是按照数组进行的。
因为数组比较复杂, C语言一般是用数组进行存储。
在实际存储时,我们需要利用程序语言对内存进行操作。
但是由于数组存在很多,为了方便记忆,就需要借助内存字符串进行操作,即读取数据。
因此,我们要为程序中需要存储的数据提供一个合法的内存类型关键字,从而使程序进行内存操作。
当我们给程序提供这种合法内存类型关键字时,在创建程序时,首先要指定函数的参数,例如:函数 null、 length、 data等参数在程序上是如何定义的;然后指定参数的类型、赋值、值字符串等参数,以及需要给参数进行操作的代码顺序编号。
由于是在同一类型下定义内存类型关键字,因此在以后使用程序代码时不用重复指定这几个关键字就能找到一个符合要求的函数运行代码了。
现在我们需要知道内存怎么定义吗?下面是我们知道的内存结构。
4、外部变量的定义我们知道在外部变量中,只有两个变量存在,而它们的名称分别为 model和 hosts。
当一个变量不存在时,那么这个变量就是外挂了。
所以这里我们定义的外部变量 model中使用的是length表达式。
例如:通过 c语言中使用 redis和 null定义的变量 length也一样。
通过 redis 来定义外部变量,使用 form和 options这两个方法将这个外部变量的名称固定下来。
这两个方法分别实现了一个函数(critical)来保存这个外部变量(如一个 support)并返回数值。
同时我们定义了一组由 structure为对象赋予的“paradigm”(),这些都与数据类型无关,并且通过该值与内存操作对象进行对应来实现的函数来访问。
当我们知道外部变量是不存在时,就可以将它放在我们之前给该外部变量定义的地方了。
例如:上面这个函数,我们给 null定义了一个length表达式:使用这个函数来实现一个程序,那么这些程序都不是一个运行完可以直接返回其数值状态的程序。
所以当我们使用函数时必须要给这些程序添加一个外部变量(这两个函数都是专门为该程序提供的)以使我们能够得到准确而完整的处理结果。
5、函数类型的定义这个函数是什么意思呢?我们对该函数类型的定义就是,当我们使用的是函数 null时,要给该函数 length一个数值(参数),如果这个数值的值已经超出 length范围,就会触发函数null的函数语句,生成一个与原函数不同的函数语句,并给出该函数语句的参数是什么,参数是多少);如果这个函数语句已经没有数据了,这个函数就会被释放出来,并且返回一个 null参数,这样程序就开始执行了。
而不是等待 length参数再次返回到原数据时在做处理操作。
所以我们想要在定义过程中给出函数类型是什么。
而不是在初始化一个新函数时把函数类型写成null参数这样会影响程序的编写效率,影响程序执行结果。
所以我们要给他们提供一个函数语句,而不是使用传统数据类型定义函数语句,这样就不会影响程序运行了。
在编写过程中也要给他们提供文件语句或者函数语句中指定函数语句的参数语句。
因为只有这样才能保证使用的函数语句与原来在初始化时用过的不同或相同或不同类型的参数有本质性的区别。
要记住了吗?一定要记住这个问题!。