C语言练习题
- 格式:doc
- 大小:116.00 KB
- 文档页数:20
C语言练习题一、填空题1、C源程序的基本单位是:函数。
2、若a是int型变量,则表达式a=25/3%3之后a的值为:a=25/3%3=2 25/3=8 8%3=2 。
3、C语言中的标识符只能由三种字符构成,分别是:字母,数字,下划线。
4、在C语言中,实型变量分为两种类型,分别是float和double 。
5、执行下面程序段之后,k的值是36 。
k=1;n=263;do{k*=n%10;n/=10;}while(n);6、下面程序段中循环体的执行次数是3次。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0)7、下面程序的功能是统计正整数的各位数字中0的个数,并求各位数字中的最大者,请填空。
#include <stdio.h>main(){int n,count,max,t;count=max=0;scanf(“%d”,&x);do{t= [1] ;if(t==0) count++;else(max<t) [2] ;n/=10;}while(n);p rintf(“count=%d,max=%d”,count,max);return 0;}8、以下程序的输出结果是______。
#include <stdio.h>main(){ int a=0;a+=(a=8);printf("%d\n",a);return 0;}9、若有定义:int a=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是______。
c=(a-=(b-5));c=(a % 11)+(b=3);10、以下程序运行后的了输出结果是______。
#include <stdio.h>main(){ int a=1,b=2,c=3;if(c=a) printf("%d\n",c);else printf("%d\n",b);return 0;}11、若有语句int i=-19, j=i%4;printf("%d\n",j);则输出结果是______。
12、设y 是int型变量,请写出判断y为奇数的关系表达式______。
13、下面程序的输出是______。
#include <stdio.h>main(){ int x=2;while(x--);printf("%d\n", x);return 0;}14、以下程序的输出结果是______。
#include <stdio.h>void fun(){ static int a=0;a+=2; printf("%d",a);}main(){ int cc;for(cc=1;cc<4;cc++) fun();printf("\n");return 0;}15、若有以下程序#include <stdio.h>int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5));return 0;}执行后输出结果是______。
16、以下程序的输出结果是______。
#include <stdio.h>main (){ int a[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];printf("%d\n",s);return 0;}17、以下程序段的输出结果是______。
int i=9;printf("%o\n",i);18、有以下程序#include <stdio.h>main(){ char ch1,ch2; int n1,n2;ch1=getchar(); ch2=getchar();n1=ch1-'0'; n2=n1*10+(ch2-'0');printf("%d\n",n2);return 0;}程序运行时输入:12<回车>,执行后输出结果是______。
19、以下程序运行后的输出结果是______。
#include <stdio.h>main(){ int a=1,b=3,c=5;if (c=a+b) printf("yes\n");else printf("no\n");return 0;}20、若从键盘输入58,则以下程序输出的结果是______。
#include <stdio.h>main(){ int a;if(a>50) printf("%d",a);if(a>40) printf("%d",a);if(a>30) printf("%d",a);return 0;}21、以下程序的输出结果是______。
#include <stdio.h>main(){ int a=5,b=4,c=3,d;d=(a>b>c);printf("%d\n",d);return 0;}22、表示条件:10<x<100或x<0的C语言表达式是______。
23、若已知a=10,b=20,则表达式!a<b 的值为______.24、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是______。
25、以下程序运行后的输出结果是______。
#include <stdio.h>main(){ int p=30;printf("%d\n",(p/3>0 ? p/10:p%3));return 0;}26、以下程序运行后的输出结果是______。
#include <stdio.h>main(){int x,a=1,b=2,c=3,d=4;x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;printf("%d\n",x);return 0;}27、有以下程序#include <stdio.h>main(){ int t=1,i=5;for(;i>=0;i--) t*=i;printf("%d\n",t);return 0;}执行后输出结果是______。
28、以下程序的输出结果是______。
#include <stdio.h>main(){ int s,i;for(s=0,i=1;i<3; i++,s+=i);printf("%d\n",s);}29、以下程序运行后的输出结果是______。
#include <stdio.h>main(){ int p[7]={11,13,14,15,16,17,18};int i=0,j=0;while(i<7&&p[i]%2==1)j+=p[i++];printf("%d\n",j);return 0;}30、执行以下程序后,输出'#'号的个数是______。
#include <stdio.h>main(){ int i,j;for (i=1;i<5;i++)for (j=2;j<=i;j++)putchar('#');return 0;}31、以下程序的输出结果是______。
#include <stdio.h>main(){ char s[]="abcdef";s[3]='\0';printf("%s\n",s);return 0;}32、下列程序段的输出结果是______。
#include <stdio.h>main(){ char b[]="Hello,you"b[5]=0;printf("%s\n",b);return 0;}33、以下程序运行后的输出结果是______。
#include <stdio.h>main(){char m;m='B'+32;printf("%c\n",m);return 0;}34、已知字母A的ASCII码为65.以下程序运行后的输出结果是______。
#include <stdio.h>main(){ char a,b;a=‟A‟+‟5‟-…3‟; b=a+‟6‟-…2‟;printf(“%d%c\n”,a,b);return 0;}35、若有以下程序#include <stdio.h>main(){ char a;a='H'-'A'+'0';printf("%c\n",a);return 0;}执行后输出结果是______。
36、以下程序的功能是计算:1+12+123+1234+12345。
请填空。
#include <stdio.h>main(){ int t= 0,s=0,I;for (I=1;I<=5;I++){t=I+______;s=s+t;}printf(“s=%d \n”,s);return 0;}37、以下函数的功能是:求x 的y 次方,请填空。
double fun(double x,int y){ int i;double z;for(i=1,z=x;i<y;i++) z=z*______;return z;}二、选择题1、C 语言规定,在一个源程序中,main 函数的位置( )。
A 必须在最开始 B 必须在系统调用的库函数的后面 C 可以任意 D 必须在最后2、一个C 程序的执行是从( )。
A 本程序的main 函数开始,到main 函数结束B 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C 本程序的main 函数开始,到本程序文件的最后一个函数结束D 本程序文件的第一个函数开始,到本程序main 函数结束3、 在 C 语言中,每个语句必须以( )结束。
A. 回车符B. 冒号C. 逗号D. 分号4、以下不是C 语言关键字的是( )A charB whileC ifD pow5、以下不是C 语言中合法标识符的是( )A gotoB b_aC _123D INT6、下面不正确的字符串常量是( )A “ABC ”B ‘an ’C “ ”D “000”7、若有代数式3ae bc,则不正确的C 语言表达式是( ) A a/b/c*e*3 B 3*a*e/b/c C 3*a*e/b*c D a*e/b/c*38、在C 语言中,int 、char 和float 三种类型数据在内存中所占用的字节数( )A 由用户自己定义B 均为4个字节C 任意的D 由所用机器的机器字长所决定9、在C 语言中,char 类型的数据在内存中的存储形式是( )A 补码B 原码C 反码D ASCII 吗10、putchar 函数可以向终端输出一个( )A 整型变量表达式B 实型变量值C 字符串D 字符或字符型变量值11、已有定义int x ;float y ;且执行scanf (“%3d%f ,&x ,&y ”);语句时,输入数据为12345∨678(∨表示空格),则x和y的值分别为()A 12345、无定值B 123、45.000000C 45、678.000000D 345、123.00000012、以下能正确地定义整形变量a,b和c并为其赋值5的语句是()A int a=b=c=5;B int a,b,c=5;C a=5,b=5,c=5;D a=b=c=5;13、已知ch为字符型变量,则不正确的赋值语句为()A ch=‘a+b’B ch= ‘\0’C ch= ‘7’+‘9’D ch=5+914、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为( )。