《c语言填空题题库(共23页).doc》由会员分享,可在线阅读,更多相关《c语言填空题题库(共23页).doc(23页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个main 函数。2、a是整型变量,则执行表达式a=25/3%3后a的值为。2 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。-164、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(%d , %d n, a,b );的输出结果分别是2,15、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较高的类型6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的
2、运行结果是。#includemain( ) char c;while(c=getchar()! =?) putchar(+c)sjhiu?7、C语言中的数组必须先定义,然后使用。8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。3.210、以下程序void fun(char *a, char *b) a=b; (*a)+; main () char c1=A, c2=a, *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf(“&c&cn”,c
3、1,c2);运行后的输出结果是 。&c&c11、字符串常量“123”在内存中的字节数是 。8字节12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是 。【4】13、int a=24; printf(%o , a );输出结果是 。【30】14、当a=3,b=2,c=1时,表达式f=abc的值是 。【0】15、下面程序的运行结果是 。【x=1,y=20】 #include main() int i,x,y; i=x=y=0; do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while (i=7); printf(x=%d,y=%dn,x,y);16、以
4、下语句char str10=China; printf(%d,strlen(str)的输出结果是 。517、为了便于区别全局变量和局部变量,通常将全局变量的首字母 。用大写字母表示18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf(%d,%d,p,*p);”的输出结果是 。【4000,5】19、程序main() int a23=1,2,3,4,5,6; int m,*ptr; ptr=&a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4); printf(%dn,m);的运行结果是 。【15】20、引用C语言标准库函数,一般要用【文件包含】 预处理命
5、令将其头文件包含进来。21、在C语言程序中,符号常量的定义要使用【宏定义】 预处理命令。22、逻辑运算符!是自右至左 结合性。23、下面的程序的运行结果是 。【s=254】#includemain( )int a,s,n,count; a=2;s=0;n=1;count=1; while(countb!=c的值是 。【1】32、在C语言程序中,用关键字 定义字符型变量。33若m是一个三位数,则百位数字为 34、执行下列语句:float a; int b; a = b =24.5/5; printf(“%f,%d” , a, b); 输出结果是 【4.,4】35、若x和n均是int型变量,且x和
6、n的初值均为5,则计算表达式x+=n+后x的值为 ,n的值为 36、若a=6,b=4,c=2,则表达式!(a-b)+c-1&b+c/2的值是 。137、当运行以下程序时,从键盘输入-1 0(表示回车),则下面程序的运行结果是 。m=4,n=2#includemain() int a,b,m,n; m=n=1; scanf(%d%d,&a,&b); do if(a0) m=2*n; b+; elsen=m+n; a+=2; b+; while(a=b); printf(m=%d n=%d,m,n);38、C语言规定了以字符0 作为字符串结束标志。39、如果一函数只允许同一程序文件中的函数调用,则
7、应在该函数定义前加上static 修饰。40、对数组元素的引用方法有下标法和指针法 两种。41、对于“int a4;”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a4;”的理解就是数组a 有4个元素,每个元素都是指针变量 。42、在C语言中,八进制整型常量以【0】 作为前缀。43、已有定义 :int x=0,y=0;, 则计算表达式 :(x+=2,y=x+3/2,y+5) 后 , 表达式的值是 。【8】44、下面程序段的运行结果是 【a=-5】。int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (i=10);printf(a=%d,
8、a);45、要使指针变量与变量之间建立联系,可以用运算符* 来定义一个指针变量46、设int a10,*p=a;则对a3的引用可以是p3或 *(p+3)。47、C语言程序是由函数 构成的。48、在C语言程序中,用关键字 【float】定义单精度实型变量。49、若m是一个三位数,则十位数字为 m/10-m/100*10。50、int a=24; printf(%x , a );输出结果是 。1851、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式 。xz|yz52、下面程序的运行结果是 。x=1,y=20 #include main() int i,x,y; i=x=y
9、=0; do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while (i=7); printf(x=%d,y=%dn,x,y);53、形式参数也是【局部】变量。54、以下程序#include fun(int x, int y, int *cp, int *dp) *cp=x+y;*dp=x-y;main( ) int a,b,c,d;a=30; b=50;fun(a, b, &c, &d); printf(%d,%dn, c, d);return 0;输出结果是 。 【80,-20】 55、程序main() int a23=1,2,3,4,5,6; int m,*ptr
10、; ptr=&a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4); printf(%dn,m);的运行结果是【15】56、运算符%、*=、|、=中,优先级最低的是 。【*=】57、在C语言中,x在内存中占【2】字节。58、设y为int型变量,请写出描述“y是偶数”的表达式 。【y%2=0】59、下面程序段中循环体的执行次数是3次。a=10;b=0;dob+=2;a-=2+b; while (a=0);60、程序的输出值是 。 10#includevoid f(int *p) *p=10; int *p;void main( ) f(p);printf(%d,(*p)+); 61
11、、在C语言的赋值表达式中,赋值号左边必须是变量 。62、当a=3,b=2,c=1时,表达式f=abc的值是 。【0】63、以下程序的输出结果是 。 5,2,3#includeint sub(int x, int y, int *z) *z=x-y; main( ) int a,b,c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn,a,b,c);return 0;64、下面程序的输出是 。 k=2 a=3 b=2#includemain(int argc, char argv ) char *s=121;int k=0, a=0
12、, b=0;do k+;if(k%2=0) a=a+sk-0;continue;b=b+sk-0;a=a+sk-0;while (sk+1); printf(k=%d a=%d b=%dn,k,a,b);return 0;65、运算符的结合性有2 种。66、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是 。167、判断char型变量ch是否为大写字母的正确表达式是 。ch=A&ch=Z68、下面程序段的运行结果是 。a=-5int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (i=10);printf(a=%d,a);69、C
13、语言中的字符数组中的一个元素存放1个字符。70、已知:int a5,*p=a;则p指向数组元素a0,那么p+1指向 a1。71、设有如下定义:int a5=0,1,2,3,4,*p1=&a1,*p2=&a4;则p2-p1的值为 。672、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是 。173、下面程序段的运行结果是 。a=-5int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (i=10);printf(a=%d,a);74、已知:int a5,*p=a;则p指向数组元素a0,那么p+1指向a6 。75、引用C语言标准库函数
14、,一般要用 文件包含预处理命令将其头文件包含进来。76、在C语言中,运算符+和的运算量必须是 【变量】。77、逻辑运算符!是【自右至左】结合性。78、下面的程序的运行结果是 。【s=25】#includemain( )int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7) n=n*a; s=s+n; +count; printf(s=%d,s);79、局部变量只在该函数有效。80、设char *s=”ta017bc”; 则指针变量s指向的字符串所占的字节数是 【2】个81、以下程序的输出结果是 。【10】main() int arr =30,2
15、5,20,15,10,5, *p=arr; p+; printf(“%dn”,*(p+3); 82、在C语言中,八进制整型常量以【0】 作为前缀。83、表达式3.6/6+1/2+55%10的值是 。【5.6】85、C语言的三种逻辑运算符中优先级最高的为【逻辑非!】 。86、全局变量 可以被本文件中的其他函数所共用。87、以下程序#include fun(int x, int y, int *cp, int *dp) *cp=x+y;*dp=x-y;main( ) int a,b,c,d;a=30; b=50;fun(a, b, &c, &d); printf(%d,%dn, c, d);ret
16、urn 0;输出结果是 。【80,-20】 88、int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 。【3.5】89、下面程序的运行结果是 。1,-2 y=2;a=1;while(y-!=-1)doa*=y; a+;while(y-);printf(%d,%d,a,y);90、用数组元素作为函数的实参时,与用变量做实参一样,是值传递。91、以下程序的输出结果是 。【5,2,3】 #includeint sub(int x, int y, int *z) *z=x-y; main( ) int a,b,c; sub
17、(10,5,&a); sub(7,a,&b); sub(a,b,&c);printf(%d,%d,%dn,a,b,c);return 0;92、程序main() int a34=1,3,5,7,9,11,13,15,17,19,21,13; int (*ptr)4;int sum=0,i,j; ptr=a; for (i=0;i3;i+) for (j=0;jbc的值是 。【0】95、按序排列的同类型变量的集合称为【结构体变量】96、C语言中按函数在程序中出现的位置来分,函数的调用有函数语句、函数参数和【函数表达式】 三种方式。97、请定义一个指向字符类型数据的指针变量p, 。【char *p
18、 】98、请定义一个指向指针数据的指针变量p,其基类型是字符型 。char*p99、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是 。100、下面的程序的运行结果是 。s=254#includemain( )int a,s,n,count; a=2;s=0;n=1;count=1; while(count=7) n=n*a; s=s+n; +count; printf(s=%d,s);101、如果被调用函数的实参列表包含多个实参,则各参数间用逗号 隔开。(使用汉字填102、下列程序段的输出结果是 。【1,23 4】 void fun(int *x, i
19、nt *y) printf(“%d ,%d”, *x, *y); *x=3; *y=4;main() int x=1,y=2;fun(&x,&y);printf(“%d %d”,x, y);103、设int a10,*p=a;则对a3的引用可以是p3或【*(p+3)】 。104、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是 。(int)(d1+2*d2);105、定义一个整型数组a10,则下标最大的数组元素为a9 。106、要使指针变量与变量之间建立联系,用运算符* 来建立指针变量与变量之间的联系。107、下列程序的输出结果是 0。void fun(
20、int *n) while( (*n)-); printf(“%d”,+(*n);main() int a=100; fun(&a); 108、char c=010;则变量c中包含字符的个数为1 。109、int m=5,y=2;则表达式y+=y- =m*=y的值为 。-16110、以下程序#include fun(int x, int y, int *cp, int *dp) *cp=x+y;*dp=x-y;main( ) int a,b,c,d;a=30; b=50;fun(a, b, &c, &d); printf(%d,%dn, c, d);return 0;输出结果是 。 【80,-
21、20】111、若有以下定义和语句:int a4=0,1,2,3, *p; p=&a1; 则+(*p)的值是 【1】112、运算符=的结合性是【自右至左】 。113、若x为整型变量,执行语句x=b-A;后,x的值为33 。114、int a=24; printf(%o , a );输出结果是 。115、程序void fun(char *c,int d) *c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);main() char a=A,b=a;fun(&b,a); printf(“%c,%cn”,a,b);运行后的输出结果是 。 b,A,B,b 116、设main函数的说明为
22、:main(int argc, char *argv), 且有命令行为:FILE1 1 2 3(代表回车),则argc 的值是 。4117、x是整型变量,表达式:(x=8,x%=x+5)的值是 。8118、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf(%d , %d n, a,b );的输出结果分别是 。2,1119、条件“2x3或x2&x3|x-10。120、设有如下定义:int a5=0,2,4,6,8,*p1=&a1,*p2=&a4;则*p2-*p1的值为 。 【6】121、x是整型变量,表达式:(x=8,x%=x+5)的值是 。【8
23、】122、下面程序的运行结果是 。【x=1,y=20】 #include main() int i,x,y; i=x=y=0; do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while (i=7); printf(x=%d,y=%dn,x,y);123、请定义一个指向字符类型数据的指针变量p, 。char*p;10、已知:int a5,*p=a;若“ printf(%d,p);”的输出结果是200,那么:“ printf(%d,p+1);”的输出结果是 。202124、把 al 、 a2 定义为长整型变量的定义语句是 。long a1,a2;125、若已有定义语句:i
24、nt k=7;,赋值表达式:k+=k%=k-3的值是 。6126、逻辑运算符!是从右至左 结合性。_127、以下程序的输出结果是 。 【efgh】 main() char *p=abcdefgh,*r; long *q; q=(long*)p; q+; r=(char*)q; printf(%sn,r);128、程序# include void prtv(int *x) printf(%dn,+*x); main() int a=25; prtv(&a); 的运行结果为 26129、a是整型变量,则执行表达式a=25/3%3后a的值为。2130、用来存放字符数据的数组称为字符数组。131、【全
25、局变量】可以被本文件中的其他函数所共用。132、程序main() int var, *p; var=100; p=&var; var=*p+10; printf(%d,var); 的运行结果为。【110】133、若有定义:int a23=2,4,6,8,10,12;则*(&a00+2*2+1)的值是【12】134、访问变量的方式有直接访问和【间接访问】 。135、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】 。136、已知:int a23=1,2,3,4,5,6,*p=&a00;则*(p+1)的值为 。【4】137、有如下程序main() char ch25=“6937”,”
26、8254”,*p2;int i,j,s=0;for(i=0;i2;i+) pi=chi;for(i=0;i0;j+=2)s=10*s+pij-0;printf(“%dn”,s);该程序的输出结果是 。【6385】138、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。139、若m是一个三位数,则个位数字为 。【m%10】140、下面程序段的运行结果是 。a=-5int i=1,a=0,s=1;doa=a+s*i; s=-s; i+; while (i=10);printf(a=%d,a);141、若有以下定义和语句:int a4=1,2,3,4,*p; p=&a2;
27、则*- - p的值是 2142、若有定义:double x35;则x数组中列下标的上限为 。4143、当被调用函数的定义出现在主调函数的前面,可以不加以声明。144、以下程序运行后的输出结果是 。【9876 876】 main() char s =“9876”,*p;for ( p=s ; ps+2 ; p+) printf(“%s ”, p);145、程序main() int a23=1,2,3,4,5,6; int m,*ptr; ptr=&a00; m=(*ptr)*(*(ptr+2)*(*(ptr+4); printf(%dn,m);的运行结果是 。【15】146、下面程序的运行结果是
28、 。 #include main() int i,x,y; i=x=y=0; do +i; if(i%2!=0) x=x+i;i+; y=y+i+; while (i=7); printf(x=%d,y=%dn,x,y);147、C程序的执行从【main】 函数开始,调用其他函数后流程返回该函数,并在该函数中结束整个程序的运行。148、下列程序的运行结果是 。3 6 void fun(int *a, int *b) int *k;k=a; a=b; b=k;main() int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(“%d %d”, a, b); 149
29、、下面程序的运行结果是 。1,-2 y=2;a=1;while(y-!=-1)doa*=y; a+;while(y-);printf(%d,%d,a,y);150、程序main() int a34=1,3,5,7,9,11,13,15,17,19,21,13; int (*ptr)4;int sum=0,i,j; ptr=a; for (i=0;i3;i+) for (j=0;j2;j+) sum+=*(*(ptr+i)+j); printf(%dn,sum);的运行结果是 。60151、如果在所有函数定义之前,在函数的【前面】已作了函数声明,则在各个主调函数中不必对所调用的函数再做声明。15
30、2、以下程序的输出结果是 【7】 #include #include main() char b18=abcdefg,b28,*pb=b1+3;while (-pb=b1) strcpy(b2,pb);printf(%dn,strlen(b2);153、程序# include void prtv(int *x) printf(%dn,+*x); main() int a=25; prtv(&a); 的运行结果为 。【26】154、在C语言中的标识符只能由3种字符组成,它们是。【字母、数字、下划线 】155、下面程序段的运行结果是。【a=-5】int i=1,a=0,s=1;doa=a+s*i;
31、 s=-s; i+; while (i=10);printf(a=%d,a);156、形式参数也是局部变量变量。157、要使指针变量与变量之间建立联系,可以用运算符【*】来定义一个指针变量。158、对于“int a4;”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a4;”的理解就是数组a有4个元素,每个元素都是【指针变量】。159、int x=12, n=5;则执行表达式x%=(n%=2)后x的值为 。【0】160、下面的程序的运行结果是 。【254】#includemain( )int a,s,n,count; a=2;s=0;n=1;count=1; while(
32、count=7) n=n*a; s=s+n; +count; printf(s=%d,s);161、执行下列语句:float a; int b; b=a=24.5/5; printf(“%f,%d” , a, b); 输出结果是 。【4.,4】162、在C语言中,二维数组元素的内存中的存放顺序是【按行存放】 163、在C程序中,指针变量能够赋【变量的地址】值或空值164、已有定义 :double x=3.5;, 则表达式 :x=(int)x+1 的值是 。4.0165、局部变量只在【该该函数中】有效。166、若有以下定义和语句:int a4=0,1,2,3, *p; p=&a1; 则+(*p)
33、的值是2 167、已知:int a=10,*p=&a;则“printf(%d,%dn,a,*p);”的输出结果是 。10,10168、在C语言程序中,符号常量的定义要使用 宏定义预处理命令。169、若a=6,b=4,c=2,则表达式!(a-b)+c-1&b+c/2的值是 。【1】170、下面程序段的运行结果是 。【231】for(a=1,i=-1;i1;i+)a+; printf(%d,a);printf(%d,i);171、用来存放【 字符数据】的数组称为字符数组。172、C语言中每个变量和函数有两个属性:数据类型和数据的【结构】 类别。173、已知:下面程序段中第一个printf语句的输出
34、是200,则第二个printf语句的输出是 。【200】int a34,*p=*a;printf(%d,a);printf(%d,p);174、下面程序void ss(char *s,char t) while(*s) if(*s=t) *s=t-a+A;s+;main() char str1100=“abcddfefdbd”,c=d;ss(str1,c); printf(“%sn”,str1);运行后的输出结果是 。【abcDDfefDbD】 175、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为 。5.51
35、76、如果一函数直接或间接地调用自身,这样的调用称为递归调用 。177、以下程序的输出结果是 。7 main() int x=0;sub(&x,8,1);printf(%dn,x);sub(int *a,int n,int k) if(k=n) sub(a,n/2,2*k);*a+=k; 178、int s=6;则表达式s%2+(s+1)%2的值为 。1179、int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 。180、以下程序的输出结果是 9#include #include fut (int *s, int p23) *s=p11;int main(int argc, char argv) int a23=1,3,5,7,9,11,*p;p=(int*)malloc(sizeof(int);fut(&p,a);printf(%dn,*p);return 0;181、在C语言中,十六进制整型常量以0x 作为前缀。182、函数内部可以在复合语句中定义变量,这些变量在该函数中 的范围内有效。183、对数组元素的引用方法有下标法和 【指针法】两种。专心-专注-专业
限制150内