c语言填空题题库_c语言考试填空题题库
c语言填空题题库由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“c语言考试填空题题库”。
二,填空题(10道小题,共20分)
1、一个C源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2]
3、int m=5,y=2;则表达式y+=y-=m*=y的值为。[-16]
4、执行下列语句: int a=1, b=2;a=a+b;b=a-b;a=a-b;printf(“%d , %d n”, a,b);的输出结果分别是[2,1]
5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型
6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。
#include main(){ char c;while((c=getchar())!='?')putchar(++c)} [sjhiu?]
7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。
9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2]
10、以下程序
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”,c1,c2);} 运行后的输出结果是。[&c&c]
11、字符串常量“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=a>b>c的值是。【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
16、以下语句char str[10]={“China”};printf(“%d”,strlen(str))的输出结果是。[5]
17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。[用大写字母表示]
18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf(“%d,%d”,p,*p);”的输出结果是。【4000,5】
19、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf(“%dn”,m);} 的运行结果是。【15】
20、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。
21、在C语言程序中,符号常量的定义要使用【宏定义】 预处理命令。
22、逻辑运算符!是[自右至左] 结合性。
23、下面的程序的运行结果是。【s=254】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count
25、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是[整形]。
26、数组在内存中占用一段连续的存储空间,它的首地址由 【数组名】表示 27若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 【12】
28、在一个C源程序中,注释部分二侧的分界符为。【/*和*/】
29、在C语言程序中,转义字符“n”的功能是 [换行]。30、当a=5,b=4,c=2时,表达式a>b!=c的值是。【1】
32、在C语言程序中,用关键字 定义字符型变量。33若m是一个三位数,则百位数字为
34、执行下列语句:float a;int b;a = b =24.5/5;printf(“%f,%d” , a, b);输出结果是 【4.000000,4】
35、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为
36、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是。[1]
37、当运行以下程序时,从键盘输入-1 0(表示回车),则下面程序的运行结果是。[m=4,n=2] #include main(){ int a,b,m,n;m=n=1;scanf(“%d%d”,&a,&b);do{ if(a>0){m=2*n;b++;} else{n=m+n;a+=2;b++;} }while(a==b);printf(“m=%d n=%d”,m,n);}
38、C语言规定了以字符[‘ ’] 作为字符串结束标志。
39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static] 修饰。
40、对数组元素的引用方法有下标法和[指针法] 两种。
41、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组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;do{a=a+s*i;s=-s;i++;} while(i
45、要使指针变量与变量之间建立联系,可以用运算符[*] 来定义一个指针变量
46、设int a[10],*p=a;则对a[3]的引用可以是p[3]或 [*(p+3)]。
47、C语言程序是由[函数] 构成的。
48、在C语言程序中,用关键字 【float】定义单精度实型变量。
49、若m是一个三位数,则十位数字为 [m/10-m/100*10]。50、int a=24;printf(“%x ”, a);输出结果是。[18]
51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。[x
52、下面程序的运行结果是。[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
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 a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];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;do{b+=2;a-=2+b;}while(a>=0);60、程序的输出值是。[10] #include void f(int *p){ *p=10;} int *p;void main(){ f(p);printf(“%d”,(*p)++);} 61、在C语言的赋值表达式中,赋值号左边必须是[变量]。62、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】
63、以下程序的输出结果是。[5,2,3] #include int 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] #include main(int argc, char argv[ ]){ char *s=“121”;int k=0, a=0, b=0;do { k++;if(k%2==0){ a=a+s[k]-'0';continue;} b=b+s[k]-'0';a=a+s[k]-'0';}while(s[k+1]);printf(“k=%d a=%d b=%dn”,k,a,b);return 0;} 65、运算符的结合性有[2] 种。
66、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是。[1] 67、判断char型变量ch是否为大写字母的正确表达式是。[ch>=’A’&&ch
8、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i
9、C语言中的字符数组中的一个元素存放[1]个字符。
70、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向 [a[1]]。71、设有如下定义: int a[5]={0,1,2,3,4},*p1=&a[1],*p2=&a[4];则p2-p1的值为。[6] 72、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是。[1] 73、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i
4、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[6]]。
75、引用C语言标准库函数,一般要用 [文件包含]预处理命令将其头文件包含进来。76、在C语言中,运算符++和—的运算量必须是 【变量】。77、逻辑运算符!是【自右至左】结合性。78、下面的程序的运行结果是。【s=25】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count
9、局部变量只在该[函数]有效。80、设char *s=”ta 17bc”;则指针变量s指向的字符串所占的字节数是 【2】个 81、以下程序的输出结果是。【10】 main(){ int arr[ ]={30,25,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);return 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){do{a*=y;a++;}while(y--);} printf(“%d,%d”,a,y);
90、用数组元素作为函数的实参时,与用变量做实参一样,是[值]传递。91、以下程序的输出结果是。【5,2,3】 #include int 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;}
92、程序main(){ int a[3][4]={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;i
93、字符串常量“123”在内存中的字节数是。【4】
94、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 95、按序排列的同类型变量的集合称为【结构体变量】
96、C语言中按函数在程序中出现的位置来分,函数的调用有函数语句、函数参数和【函数表达式】 三种方式。
97、请定义一个指向字符类型数据的指针变量p,。【char *p 】
98、请定义一个指向指针数据的指针变量p,其基类型是字符型。[char**p] 99、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。100、下面的程序的运行结果是。[s=254] #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count
1、如果被调用函数的实参列表包含多个实参,则各参数间用[逗号] 隔开。(使用汉字填
102、下列程序段的输出结果是。【1,23 4】 void fun(int *x, int *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 a[10],*p=a;则对a[3]的引用可以是p[3]或【*(p+3)】。
104、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。[(int)(d1+2*d2);]
105、定义一个整型数组a[10],则下标最大的数组元素为[a[9]]。
106、要使指针变量与变量之间建立联系,用运算符[*] 来建立指针变量与变量之间的联系。
107、下列程序的输出结果是 [0]。void fun(int *n){ while((*n)--);printf(“%d”,++(*n));} main(){ int a=100;fun(&a);}
108、char c=’ 10’;则变量c中包含字符的个数为[1]。109、int m=5,y=2;则表达式y+=y-=m*=y的值为。[-16]
110、以下程序 #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】
111、若有以下定义和语句:int a[4]={0,1,2,3}, *p;p=&a[1];则++(*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函数的说明为:main(int argc, char *argv[]), 且有命令行为:FILE1 1 2 3(代表回车),则argc 的值是。[4] 117、x是整型变量,表达式:(x=8,x%=x+5)的值是。[8] 118、执行下列语句: int a=1, b=2;a=a+b;b=a-b;a=a-b;printf(“%d , %d n”, a,b);的输出结果分别是。[2,1] 119、条件“22&&x
21、x是整型变量,表达式:(x=8,x%=x+5)的值是。【8】 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
23、请定义一个指向字符类型数据的指针变量p,。[char*p;]
10、已知:int a[5],*p=a;若“ printf(“%d”,p);”的输出结果是200,那么:“ printf(“%d”,p+1);”的输出结果是。[202] 124、把 al、a2 定义为长整型变量的定义语句是。[long a1,a2;] 125、若已有定义语句:int k=7;,赋值表达式:k+=k%=k-3的值是。[6] 126、逻辑运算符!是[从右至左] 结合性。_ 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);} 的运行结果为 [26] 129、a是整型变量,则执行表达式a=25/3%3后a的值为。[2]
130、用来存放[字符数据]的数组称为字符数组。131、【全局变量】可以被本文件中的其他函数所共用。
132、程序main(){ int var, *p;var=100;p=&var;var=*p+10;printf(“%d”,var);} 的运行结果为。【110】
133、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12】 134、访问变量的方式有直接访问和【间接访问】。
135、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】。136、已知:int a[2][3]={1,2,3,4,5,6},*p=&a[0][0];则*(p+1)的值为。【4】 137、有如下程序 main(){ char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i‟ ‟;j+=2)s=10*s+p[i][j]-„0‟;printf(“%dn”,s);} 该程序的输出结果是。【6385】
138、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。
139、若m是一个三位数,则个位数字为。【m%10】 140、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i
41、若有以下定义和语句:int a[4]={1,2,3,4},*p;p=&a[2];则*--p的值是 [2] 142、若有定义:double x[3][5];则x数组中列下标的上限为。[4] 143、当被调用函数的定义出现在主调函数的[前面],可以不加以声明。144、以下程序运行后的输出结果是。【9876 876】 main(){ char s[ ]=“9876”,*p;
for(p=s;p
45、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf(“%dn”,m);} 的运行结果是。【15】 146、下面程序的运行结果是。#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
47、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、下面程序的运行结果是。[1,-2] y=2;a=1;while(y--!=-1){do{a*=y;a++;}while(y--);} printf(“%d,%d”,a,y);
150、程序main(){ int a[3][4]={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;i
151、如果在所有函数定义之前,在函数的【前面】已作了函数声明,则在各个主调函数中不必对所调用的函数再做声明。152、以下程序的输出结果是 【7】 #include #include main(){ char b1[8]=“abcdefg”,b2[8],*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;do{a=a+s*i;s=-s;i++;} while(i
56、形式参数也是[局部变量]变量。
157、要使指针变量与变量之间建立联系,可以用运算符【*】来定义一个指针变量。158、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a有4个元素,每个元素都是【指针变量】。159、int x=12, n=5;则执行表达式x%=(n%=2)后x的值为。【0】 160、下面的程序的运行结果是。【254】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count
1、执行下列语句:float a;int b;b=a=24.5/5;printf(“%f,%d” , a, b);输出结果是。【4.900000,4】
162、在C语言中,二维数组元素的内存中的存放顺序是【按行存放】 163、在C程序中,指针变量能够赋【变量的地址】值或空值 164、已有定义 :double x=3.5;, 则表达式 :x=(int)x+1 的值是。[4.0] 165、局部变量只在【该该函数中】有效。
166、若有以下定义和语句:int a[4]={0,1,2,3}, *p;p=&a[1];则++(*p)的值是[2] 167、已知:int a=10,*p=&a;则“printf(“%d,%dn”,a,*p);”的输出结果是。[10,10] 168、在C语言程序中,符号常量的定义要使用 [宏定义]预处理命令。169、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是。【1】 170、下面程序段的运行结果是。【231】 for(a=1,i=-1;i
1、用来存放【 字符数据】的数组称为字符数组。
172、C语言中每个变量和函数有两个属性:数据类型和数据的【结构】 类别。173、已知:下面程序段中第一个printf语句的输出是200,则第二个printf语句的输出是。【200】 int a[3][4],*p=*a;printf(“%d”,a);printf(“'%d”,p);174、下面程序 void(char *s,char t){ while(*s){ if(*s==t)*s=t-„a‟+‟A‟;s++;} } main(){ char str1[100]=“abcddfefdbd”,c=‟d‟;(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.5] 176、如果一函数直接或间接地调用自身,这样的调用称为[递归调用]。177、以下程序的输出结果是。[7] main(){ int x=0;sub(&x,8,1);printf(“%dn”,x);} sub(int *a,int n,int k){ if(k