C语言基础练习100题(含答案)[整理]
高等教育word可编辑C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是_#include<stdio.h>void main() int k=11; printf("k=%d,k=%o,k=%xn",k,k,k);A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是_.A) +t; B) n1=(n2=(n3=0); C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是_.A) t B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是_.A) 反码 B) 补码 C) EBCDIC码 D) ASCII码5、设 int a=12,则执行完语句a+=a-=a*a后,a的值是_A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是_.#include<stdio.h>void main()int a; printf("%dn",(a=3*5,a*4,a+5);A) 65 B) 20 C) 15 D) 107、下面程序的输出是_.#include<stdio.h>void main()int x=023; printf("%dn",-x);A) 17 B) 18 C) 23 D) 248、下面程序的输出是_.#include<stdio.h>void main()char ch1,ch2; ch1=A+5-3; ch2=A+6-3; printf("%d,%cn",ch1,ch2);A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是_.#include<stdio.h>void main() int x=10,y=10; printf("%d %dn",x-,-y);A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段: printf("%d",(x,y);上面程序片段的输出结果是_.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main() int i,j; i=010; j=9; printf("%d,%d",i-j,i+j); 则程序的运行结果是_.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#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);程序的运行结果是_.A) 8,10,8,10 B) 9,11,8,10 C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a+的值是_.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main()int i,j;scanf("%3d%2d",&i,&j); printf("i=%d,j=%dn",i,j);如果从键盘上输入1234567<回车>,则程序的运行结果是_.A) i=123,j=4567 B) i=1234,j=567 C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是_.#include<stdio.h>void main() int a=-1, b=4, k; k=(+a<=0)&&(b-<=0); printf("%d,%d,%dn",k,a,b);A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_.#include<stdio.h>void main() int a=5,b=3; float x=3.14, y=6.5; printf("%d,%dn",a+b!=a-b,x<=(y-=6.1);A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句: int a=010, b=0x10, c=10; printf("%d,%d,%dn",a,b,c);则输出结果是_.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是_.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._A) 14 B) 15 C) 11 D) 1220、若d为double型变量,则表达式d=1,d+5,d+的值是_.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值_.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是_.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是_.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是_.A) 10<a<15 B) a=11|a=12|a=13|a=14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用_.(假设已知空格ASCII码为32)A) if(c=32) B) if(c=32)C) if(c=40) D) if(c= )26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是_. #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("%dn",k); A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是_. #include <stdio.h> void main( ) int x=41,y=1; if (x%3=0 && x%7=0) y+=x;printf("y=%dn",y); else y=x;printf("y=%d",y); A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是_. #include <stdio.h> void main( ) int x,y,z; scanf("%d,%d,%d",&x,&y,&z); if (x<y) if (y<z)printf("%dn",z); else printf("%dn",y); else if (x<z)printf("%dn",z); else printf("%dn",x); A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是_. #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! Goodmorning! Bye_Bye! Bye_Bye!30、执行下列程序段后的输出结果是_. int x=1,y=1