版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2012级非计算机专业C语言练习题第一单元数据类型、表达式及顺序结构练习题一、选择题:1、不合法的C语言整型常量是。A.–012B.0x35C.123LD.8E22、不合法的C语言实型常量是。A.E3B..123C.–6.2E4D.5.03、不合法的C字符常量是。A.´2´B.´\101´C.´AB´D.´\n´4、下列四组选项中,均是不合法的用户标识符的选项是。A.W P_0 doB.b-a goto intC.float la0 _AD.-123 abc TEMP定义三个变量a、b、c,并分别赋初值为5。能实现该功能的语句是。A.inta=b=c=5;B.inta,b,c=5;C.inta=5,b=5,c=5;D.inta=5;b=5;c=5;6、设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。A.floatB.charC.intD.double7、以下选项中不能用作C程序合法常量的是()。A.1.234B.'123'C.123D."\x7G"8、以下选项中可用作C程序合法实数的是()A..1e0B.3.0e0.2C.E9D.9.12E9、下列标识符中,不合法的用户标识符为()。A.PadB.CHARC.a_10D.a≠b10、以下选项中能表示合法常量的是()。A.整数:2.00B.实数:1.5E2.0C.字符斜杠:‘\’D.字符串:"\007"11、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()。A.1B.0C.2D.312、若有定义语句:intx=10;,则表达式x-=x+x的值为()A.-20B.-10C.0D.1013、表达式:(int)((double)9/2)-(9)%2的值是()。A.0B.3C.4D.514.intx=5,y=14;则表达式x+7/y+0.6值为()。A.7.1B.5.6C.6.6D.6.115、C语言中运算对象必需是整型的运算符是()。A./B.%C.*D.+16、表达式3.6-5/2+1.2+5%2的值是()。A.4.3B.4.8C.3.3D.3.817、C语言中,数字029是一个()。A.不合法数字B.十进制数C八进制数D十六进制数18、设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()。A.k++B.k+=1C.++kD.k+119、下列C语言运算符中优先级最低的是()。A.++B.=C.-D.&&20、若有定义语句:inta=3,b=2,c=1;以下选项中错误的赋值表达式是()A.a=(b=4)=3;B.a=b=c+1;C.a=(b=4)+c;D.a=1+(b=c=4);二、填空题:1、若有定义intm=5,y=2;,则计算表达式y+=y-=m*=y后的y值是。2、若s是int型变量,且s=6,则表达式s%2+(s+1)%2的值为。3、若a是int型变量,则表达式a+3.5/3.5-(int)4.8的类型为。4、若a是int型变量,则计算表达式a=25/3%3后a的值为。5、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为。6、若有定义:charc=‘\010’;则变量c中包含的字符个数为。7、若有定义:intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为。三、程序阅读题:1、以下程序的输出结果是。#include<stdio.h>main(){intx=97;chary=’b’;printf(“%c,%d”,x,y);}2、以下程序的输出结果是。#include<stdio.h>main(){intx=6;x+=x-=x*x;printf(“x=%d\n”,x);}3、以下程序的输出结果是。#include<stdio.h>main(){inti=1,j;j=-i++;printf(“%d\n”,j)
;}4、有以下程序,运行后的输出结果是。main()
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);}5、以下程序的输出结果是。main(){inti=0,j=0,a=6;if((++i>0)||(++j>0))a++;printf("%d,%d,%d",i,j,a);}第二单元选择结构练习题一、选择题:1、若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是()。A.1B.0C.2D.32、有以下程序运行时,输入的值在哪个范围才会有输出结果()。main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}A.不等于10的整数B.大于3且不等于10的整数C.大于3或等于10的整数D.小于3的整数3、在嵌套使用if语句时,C语言规定else总是()。A.和之前与其具有相同缩进位置的if配对B和之前与其最近的if配对C.和之前与其最近的且不带else的if配对D.和之前的第一个if配对4、希望当num的值为奇数时,表达式的值为“真”,num的值为偶数时,表达式的值为“假”,则以下不能满足的表达式是()。A.num%2==1B.!(num%2==0)C.!(num%2)D.num%25、若有定义:inta=3,b=2,c=1;并有表达式:①a%b,②a>b>c,③b&&c+1,④c+=1,则表达式值相等的是()。A)①和②B)②和③C)①和③D)③和④6、以下程序片段。intx=2,y=3;printf(“%d,%d”,x+2,y);A)输出为:2,3B)输出为:4,3C)输出为:23D)输出为:437、能正确表示“当x的取值在[1,10]或[200,210]范围内为真,否则为假”的表达式是。A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B)(x>=1)||(x<=10)||(x>=200)||(x<=210)C)(x>=1)&&(x<=10)||(x>=200)&&(x<=210)D)(x>=1)||(x<=10)&&(x>=200)||(x<=210)8、若inti=10;执行下列程序后,变量i的正确结果是。switch(i){
case9:i+=1;
case10:i+=1;
case11:i+=1;
default:i+=1;}A)10B)11C)12D)139、下面是错误的if语句(设intx,a,b;)A)if(a=b)x++;B)if(a=<b)x++;C)if(a-b)x++;D)if(x)x++;11.以下程序片段。main(){intx=1,y=2;if(x>y)printf(“***”);elseprintf(“###”);}A)有语法错误,不能通过编译 B)输出:***C)可以编译,但不能通过连接,所以不能运行D)输出:###12.对下述程序,是正确的判断。main(){intx,y;scanf(“%d,%d”,&x,&y);if(x>y)x=y;y=x;elsex++;y++;printf(“%d,%d”,x,y);}A)有语法错误,不能通过编译B)若输入3和4,则输出4和5C)若输入4和3,则输出3和4D)若输入4和3,则输出4和513、有以下程序运行时,输入的值在哪个范围才会有输出结果()。main(){intx;scanf("%d",&x);if(x<=3);elseif(x!=10)printf("%d\n",x);}A.不等于10的整数B.大于3且不等于10的整数C.大于3或等于10的整数D.小于3的整数14.下述表达式中,()可以正确表示x≤0或x≥1的关系。A)(x>=1)||(x<=0)B)x>=1|x<=0C)x>=1&&x<=0D)(x>=1)&&(x<=0)15.以下程序输出结果是。main(){intx=1,y=0,a=0,b=0;
switch(x){
case1:switch(y){
case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;}
printf(“a=%d,b=%d”,a,b);}
A)a=1,b=0B)a=2,b=1C)a=1,b=1D)a=2,b=216.当a=1,b=3,c=5,d=4时,执行完下面一段代码后x的值是。if(a<b)if(c<d)x=1;else
if(a<c)if(b<d)x=2;
elsex=3;
elsex=6;elsex=7;
A)1B)2C)3D)4在下面的条件语句中(其中S1和S2表示C语言语句),只有一个在功能上与其他三个语句不等价。它是()
A)if(a)S1;elseS2;B)if(a==0)S2;elseS1;
C)if(a!=0)S1;elseS2;D)if(a==0)S1;elseS2;18.若inti=10;执行下列程序后,变量i的正确结果是。switch(i){
case9:i+=1;
case10:i+=1;
case11:i+=1;
default:i+=1;}
A)10B)11C)12D)13二、填空题:1.C语言提供6种关系运算符,按优先级高低它们分别是________,________,________,________,________,________等。2.C语言提供三种逻辑运算符,按优先级高低它们分别是________,________,________。3.将条件“y能被4整除但不能被100整除,或y能被400整除”写成逻辑表达式________
。4.设x,y,z均为int型变量;写出描述“x,y和z中有两个为负数”的C语言表达式:________
。5.已知A=7.5,B=2,C=3.6,表达式A>B&&C>A||A<B&&!C>B的值是________。6.有intx=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为________。7.C语言编译系统在给出逻辑运算结果时,以数值_________代表“真”,以_________代表“假”;但在判断一个量是否为“真”时,以_________代表“假”,以_________代表真。8.表示“整数x的绝对值大于5”时值为“真”的C语言表达式是____.9.若x为int类型,请以最简单的形式写出与!x等价的C语言表达式_____.如果不考虑条件表达式语句,很多情况下,多分支选择结构既可以通过if语句来实现,也可以通过语句来实现。三、读程题:1.以下程序的输出结果是。main(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=3;printf(”%d\n”,b);}2.写出以下程序的运行结果。main(){inta=2,b=7,c=5;
switch(a>0){
case1:switch(b<0){
case1:printf(“@”);break;
case2:printf(“!”);break;
}
case0:switch(c==5){
case1:pritnf(“*”);break;
case2:printf(“#”);break;
default:printf(“#”);break;
}
default:printf(“&”);
}
printf(“\n”);}3.以下程序的输出结果是。main(){ inta=100;if(a>100)printf("%d\n",a<=100);elseprintf("%d\n",a<=100);}4、以下程序的输出结果是。
main()
{inti;
for(i=0;i<3;i++)
{switch(i)
{case1:printf("%d",i);
case2:printf("%d",i);
default:printf("%d",i);}}}5、以下程序的输出结果是。main(){inti=0,j=0,a=6;if((++i>0)||(++j>0))a++;printf("%d,%d,%d",i,j,a);}第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是()。main()
{inti,s=0;
for(i=1;i<10;i+=2)s+=i+1;
printf("%d\n",s);}A.自然数1~9的累加和B.自然数1~10的累加和C.自然数1~9中的奇数之和D自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是()。A.for循环只能用于循环次数已经确定的情况B.for循环是先判断表达式,后执行循环体语句C.for循环中,可以用break跳出循环体D。for循环体语句中可保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是()。A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、设有以下程序段
intx=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);则
A)运行程序段后输出0 B)运行程序段后输出1
C)程序段中的控制表达式是非法的D)程序段执行无限次5、设i,j,k均为int型变量,则执行完下面的for语句后k的值为()for(i=0,
j=10;
i<=j;i++,
j-
-)
k=i+j;A.6 B.9 C.10 D.116、C语言中,break;语句可以用于循环语句和()语句中。A.ifB.switchC.forD.while7、for(i=0;i<=15;i++)printf("%d",i);循环结束后,i的值为()。A.14B.15C.16D.178、与语句“while(!x)”等价的语句是()。A.while(x==0)B.while(x!=0)C.while(x==1)D.while(x!=1)9、以下程序中,while循环的次数是()。#include<stdio.h>voidmain(){inti=0;while(i<10){if(i<1)continue;if(i==5)break;i++;}}A.1B.死循环,不能确定次数C.6D.1010.下面程序段intk=2;while(k=0){printf(“%d”,k);k--;}则下面描述中正确的是。
A)while循环执行10次B)循环是无限循环
C)循环题语句一次也不执行D)循环体语句执行一次A)无限次B)0次C)1次D)2次11.下面程序的功能是在输入的一批正数中求最大者,输入0结束循环,选择填空。main(){inta,max=0;
scanf(“%d”,&a);
while(){if(max<a)max=a;scanf(“%d”,&a);}
printf(“%d”,max);}
A)a==0B)aC)!a==1D)!a12.下述程序段的运行结果是inta=1,b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c--;}printf(“%d,%d,%d”,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,113.以下不是死循环的语句是。
A)for(y=9,x=1;x>++y;x=i++)i=x;
B)for(;;x++=i);
C)while(1){x++;}
D)for(i=10;;i--)sum+=i;14.下述语句执行后,变量k的值是。intk=1;while(k++<10);
A)10B)11C)9D)无限循环,值不定25.以下程序段。x=-1;do
{x=x*x;}while(!x);
A)是死循环B)循环执行2次C)循环执行1次D)有语法错误三、读程题:1.以下程序的输出结果是。main()
{inti,a[6]={2,3,4,5,6,7};
for(i=1;i<6;i+=2)printf("%d",a[i]);}2.写出下面程序运行的结果。main(){inti=5;
for(;i<5;){i++;if(i%4==0)printf(“%-2d”,i);elsecontinue;}}3.写出下面程序运行的结果。main(){inta,b;
for(a=1,b=1;a<=100;a++){
if(b>=20)break;
if(b%3==1){b+=3;continue;}
b-=5;
}
printf(“%d\n”,a);}4.写出下面程序运行的结果。main(){intk=1,n=263;
do{k*=n%10;n/=10;}while(n);
printf(“%d\n”,k);}5.若执行以下程序时从键盘上输入3和4,则输出结果是 。main(){ inta,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s*=s;printf("%d\n",s);}6.写出下面程序运行的结果。main(){inti;
for(i=1;i<10;i++){
if(i%3)i++;
++i;
printf(“%d”,i);}}四、编程题:第四部分数组练习题1、下列选项中,能正确定义数组的语句是()。A.intnum[0..2008];B.intnum[];C.intN=2008;D.#defineN2008intnum[N];intnum[N];2、以下数组定义中错误的是()。A.intx[][3]={0};B.intx[2][3]={{1,2},{3,4},{5,6}};C.intx[][3]={{1,2,3},{4,5,6}};D.intx[2][3]={1,2,3,4,5,6};若有说明数组“inta[3][4]”,则以下对数组a的正确引用是()。A.a[2][4]B.a[1,3]C.a[1+1][0]D.a(2)(1)4、若有定义语句:chars[10]="1234567\0\0";则strlen(s)的值是()。A.7B.8C.9D.105、以下程序程序的执行后的输出结果是()。main(){inti,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++)printf(“%d”,t[2-i][i]);}A.753B.357C.369D.7516、有以下语句:intb;charc[10];,则正确的输入语句是()。A.scanf("%d%s",&b,&c);B.scanf("%d%s",&b,c);C.sscanf("%d%s",b,c);D.scanf("%d%s",b,&c);7、有以下程序段charname[20];intnum;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=aaanum=2012<回车>后,name的值为_______。A)aaaB)name=aaaC)aaanum=2012D)name=aaanum=20128、有以下程序#include<stdio.h>main(){chara[30],b[30];scanf("%s",a);gets(b);printf("%s\n%s\n",a,b);}程序运行时若输入:howareyou?Iamfine<回车>则输出结果是()A.howareyou?B.howC.howD.howIamfineIamfineareyou?areyou?Iamfine9、以下对二维数组a的正确说明是________.A.inta[3][];B.floata(3,4);C.doublea[1][4];D.floata(3)(4);10、若有说明:intx[][3]={1,3,5,7,9,11};,则x数组的行数为_______。A.2B.3C.4D.无确定值11、若有定义:inta[3][4]={{1,2,3},{0,5},{4,6,8,10}};则初始化后,a[1][2]的初值是()。A.2B.3C.0D.没有确定的值12、以下程序程序的运行结果是()。#include<string.h>main(){chara[10]="abcd";printf("%d,%d\n",strlen(a),sizeof(a);}A.7,4 B.4,10 C.8,8 D.10,1013、以下程序程序运行后的输出结果是()。#include<stdio.h>main(){chars[]={"012xy"};inti,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='a'&&s[i]<='z')n++;printf("%d\n",n);}A.0 B.2 C.3 D.5若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是()。A.m[--i] B.m[2*2] C.m[m[0]] D.m[m[i]]15、main(){inta[2]={0},i,j,k=2;for(i=0;i<k;i++) for(j=0;j<k;j++)a[j]=a[i]+1;printf("%d\n",a[k]);}以上程序的输出结果是().A)1 B)3 C)2 D)不确定的值16、以下定义语句中,错误的是().A)inta[]={6,7,8};B)intn=5,a[n];C)chara[]="string";D)chara[5]={'0','1','2','3','4'};17、以下描述中正确的是().A)数组名后面的常量表达式用一对圆括弧括起来B)数组下标从1开始C)数组下标的数据类型可以是整型或实型D)数组名的规定与变量名相同若定义数组并初始化chara[10]={'0','1','2','3','4','5','6','7','8','9'};指出以下错误语句().scanf("%c",a[0]);B)scanf("%s",&a);C)printf("%c",a[3]);D)printf("%s",a);19、若定义数组inta[10],其最后一个数组元素为().A)a[0]B)a[1]C)a[9]D)a[10]20、若定义数组并初始化inta[10]={1,2,3,4},下语句哪个不成立()?A)a[8]的值为0B)a[1]的值为1C)a[3]的值为4D)a[9]的值为021、指出以下错误语句().A)intn=10,a[n];B)inta[n=10];C)inta[10]={1,2,3};D)inta[10]={1,2,3,4,5,6,7,8,9,10};已定义intx[2][4]={1,2,3,4,5,6,7,8};元素x[1][1]的正确初值是().A)6 B)5 C)7 D)1设有定义:inta[][3]={{1,2,3},{4,5,6},{7,8,9}};则a[1][2]的初值为().A)2 B)4 C)6 D)824、判断字符串s1是否大于字符串s2,应当使用()。A)if(s1>s2)B)if(strcmp(s1,s2))C)if(strcmp(s1,s2)>0)D)if(strcmp(s2,s1)>0)二、填空题1、在C语言中,二维数组的定义方式为:类型说明符数组名[];若有定义:doublex[3][5];则x数组中最小行下标的为,列下标的最大为。3、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是。若有定义inta[10];charb[10];doublec[10];假设int类型在内存中占2个字节,则编译系统分配给数组a字节,分配给数组b字节,分配给数组c字节.5、有定义chars[]="abcd\0ef\0g";则strlen(s)=。6、有定义:charstr[50]="abcd";然后调用函数strcat(str,"def\0gh");则puts(str);输出___________。二、看程序写结果1、下面程序的运行结果是________。main(){inta[10]={10,2,-13,21,11,67,-78,8,90,-53};inti,x=0,y=0;for(i=0;i<10;i++)if(a[i]>0)x++;elsey++;printf(“%d,%d\n”,x,y);}2、以下程序的输出结果是。main()
{inti,x[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)printf("%d",x[i][2-i]);
}3、以下程序的输出结果是。main()
{inti,a[6]={2,3,4,5,6,7};
for(i=1;i<6;i+=2)printf("%d",a[i]);}4、以下程序的输出结果是。main(){inti,j,a[3][4]={{0,1,2},{3,4,5,6},{7,8}};for(i=0;i<3;i++){for(j=i;j<4;j++)printf("%5d",a[2-i][j]);printf("\n");}}5、若运行时输入abc↙,以下程序的输出结果是。#include<string.h>main(){charstr_a[12]="xyzuvw",str_b[8];gets(str_b);strcpy(str_a,str_b);printf(“%s,%s”,str_a,str_b);}6、以下程序的输出结果是#include<stdio.h>main(){inta[3][3]={1,2,3,4,5,6,7,8,9},i,s=0;for(i=0;i<=2;i++)s=s+a[i][i];printf(“s=%d\n”,s);}7、以下程序的输出结果是#include<stdio.h>main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]);}8、以下程序的输出结果是#include<stdio.h>main(){chars[]=”abcdef”;s[3]=’\0’;printf(“%s\n”,s);}第五部分函数练习题1、C语言程序的基本单位是().A.程序B.语句C.字符D.函数2、以下叙述中正确的是().A.在C语言中总从第一个开始定义的函数开始执行B.在C语言中所有调用别的函数必须在main函数中定义C.C语言总是从main函数开始执行D.在C语言中,main函数必须放在最前面3、以下正确的函数定义是().A.doublefun(intx,inty);{intz;z=x+y;returnz;}B.fun(intx,y){intz;returnz;}C.doublefun(intx,inty);{doublez;z=x+y;returnz;}D.doublefun(x,y)intx,y;{doublez;z=x+y;returnz;}4、C语言中,函数返回值的类型是由()决定的。A.调用函数时临时B.return语句中的表达式类型C.调用该函数的主调函数类型D.定义函数时,所指定的函数类型6、C语言中关于“函数声明”的说法正确的是()。A.必须对所有所调用的函数进行声明。B.都没必要声明,声明只是为了加快编译的速度。C.返回值为void类型的函数任何时候都可以不用声明。D.并不是任何情况下都需要进行声明。若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是()。A.在函数调用时函数的实参和其对应的形参共占同一存储单元。B.在函数调用时函数的形参和实参分别占用不同的存储单元。C.在函数调用时同名的实参和形参占同一存储单元。D.形参只是形式上的存在,即使在函数调用时也不占用具体存储单元。8、若有说明“staticinta[3][4];”,则数组a中各元素()。A.可在程序的运行阶段得到初值0。B.可在程序的编译阶段得到初值0。C.不能得到确定的初值。D.可在程序的编译或运行阶段得到初值0。9、以下程序程序的运行结果是()。
intfun{intx,inty}{if(x==y)return(x);elsereturen((x+y)/2)}
main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)))}A.3 B.6 C.8 D.1210、以下程序程序运行后的输出结果是()。intf(intn){staticinta=1;n+=a++;returnn;}main(){inta=3,s;s=f(a);s=s+f(a);printf("%d\n",s);}A.7 B.8 C.9 D.1011、f(intx){returnx;}main(){floata=3.14;a=f(a);printf("%.2f\n",a);}执行结果为().A)3B)3.14C)3.00D)012、执行下列程序后,变量a的值应为().f1(floatx){returnx+1.3;}main(){floata;a=f1(2.4);}A)3.7B)3C)4D)不确定13、下列程序的执行结果为().floatf1(floatx){intk=2;k=k*x;returnk;}main(){floatb=4.3;printf("%.1f",f1(b));}A)8.6B)9.0C)8.0D)814、执行下列语句后,程序的运行结果为(). inta=10; f(){a=12;}main() {f();printf("%d",a);}A)10B)12C)0D)不确定二、填空题1、一个C程序中可以有多个函数,但是有且仅能有一个函数。从用户使用的角度,函数分为函数和函数;从有无参数的角度,函数分为函数和函数;从有无返回值的角度,函数和函数3、函数调用语句f(a,(3,b))向函数f传递了参数。4、如果一个函数的函数体内无任何语句,则该函数被称为函数。5、函数大致分为函数头部和部分。6、一般地,如果函数的定义是在对该函数的调用之后,则需要对该函数进行。对于有返回值的函数,函数的返回值需要通过语句来实现。8、C程序中数组名作为函数的参数,传递的是数组的。9、函数可以嵌套调用,但是不可以嵌套。10、所谓的函数参数的单向值传递,是指只能将的值传递给,而的值不会影响的值。三、读程序写结果1、以下程序的运行结果是________.inta=5;intb=7;main(){inta=4,b=5,c;c=plus(a,b);printf("A+B=%d\n",c);}plus(intx,inty){intz;z=x+y;return(x);}2、以下程序的输出结果是_________。intfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=3;i++)s*=fun();printf("%d\n",s);}3、以下程序的输出结果是。intf(intv,intw)
{intt;
t=v*v+v/w;returnt;}
main()
{intx=1,y=3,z=2;
x=f(y,z+5);
printf("%d,%d,%d\n",x,y,z);}4、以下程序的输出结果是intf(inti,intj){intt=1;for(;j>0;j--)t*=i;return(t);}main(){inta=2,b=3;printf(“f=%d\n”,f(a,b));}5、以下程序的输出结果是#include<stdio.h>func(intx){x=20;}main(){intx=10;func(x);printf(“%d”,x);}6、以下程序的输出结果是inta=5;voidfun(intb){inta=10;a+=b;printf("%d",a);}main(){intc=20;fun(c);a+=c;printf("%d\n",a);}第六部分指针练习题已有变量定义和函数调用语句:inta=25;print_value(&a);下面函数的正确输出结果是________.voidprint_value(int*x){printf(“%d\n”,++*x);}A.23B.24C.25D.262、有以下程序 main() {inta=1,b=3,c=5; int*p1=&a,*p2=&b,*p=&c; *p=*p1*(*p2); printf("%d\n",c); }执行后的输出结果是A.1 B.2 C.3 D.43、有以下程序main(){inta,k=4,m=4,*p1=&k,*p2=&m;a=p1==&m;printf("%d\n",a);}程序运行后的输出结果是()A)4 B)1 C)0D)运行时出错,无定值4、有以下程序段
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;
b=p[5];
b中的值是()
A.5B.6C.8D.95、若有以下定义,则p+5表示_______.inta[10],*p=a;A.元素a[5]的地址B.元素a[5]的值C.元素a[6]的地址D.元素a[6]的值6、#include<stdio.h>main(){ inta[30]={1,2,3,4,5,6,7,8,9},*p; p=&a[4]; printf("%d\n",*(p+2));}程序执行后会输出A.3B.6C.7D.9以下程序段中,编译时系统会提示错误的是()
A.chars[10]="abcdefg";B.chart[]="abcdefg",*s=t;
C.cha11rs[10];s="abcdefg";D.chars[10];strcpy(s,"abcdefg");8、已知chars[10],*p=s,则下列语句中错误的是()。A.p=s+5;B.s=s+p;C.s[2]=p[4];D.*p=s[0]9、以下程序程序运行后的输出结果是()。main(){intm=1,n=2,*p=&m,*q=&n,*r;r=p;p=q;q=r;printf("%d,%d,%d,%d",m,n,*p,*q);}A.1,2,1,B.1,2,2,1C.2,1,2,D.2,1,1,210、以下定义语句中正确的是()。A.inta=b=0;B.charA=65+1,b='b';C.floata=1,*b=&a,*c=&b;D.doublea=0.0,b=1.1;11、以下定义语句中正确的是()。A.inta=b=0;B.charA=65+1,b='b';C.floata=1,*b=&a,*c=&b;D.doublea=0.0,b=1.1;12、下列语句组中,正确的是()。A.char*s;s="Olympic";B.chars[7];s="Olympic";C.char*s;s={"Olympic"};D.chars[7];s={"Olympic"};设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是()。A.scanf("%f",&x[6]);B.scanf("%lf",*(x+6));C.scanf("%lf",p+6);D.scanf("%lf",p[6]);假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()。A.p2=**p1B.p2=&p1C.p2=*p1D.p2=&*p115、以下正确的程序段是_________.A.charstr[20];B.char*p;scanf("%s",&str);scanf("%s",p);C.charstr[20];D.charstr[20],*p=str;scanf("%s",&str[2]);scanf("%s",p[2]);16、下面程序段的运行结果是________.#include<string.h>main(){chars[80],*sp="HELLO!";sp=strcpy(s,sp);s[0]='h';puts(sp);}A.hello!B.HELLO!C.Hello!D.hELLO!结构体、位运算左移运算:inta=4,c=a>>1;变量c的值是()。A.2B.8C.9D.02、在位运算中,操作数每右移一位,其结果相当于()。A.操作数乘以2B.操作数除以2C.操作数乘以4D.操作数除以23、表达式“12|012”的值是()。A.1B.0C.14D.124.表达式0xD3|0x24是()A.0B.247C.9D.-94.以下程序的输出结果是()。main(){inta,b;a=4|3;b=4&3;printf(“%d%d”,a,b);}A.70B.07C.11D.4305.表达式0x13|0x17的值是()。A.0x13B.0x17C.0xE8D.0xC86.表达式19&23的值是()。A.0x7B.0x13C.0xf8D.0xec7、若有以下说明:structst{inta;intb[2];}a;则下述正确的是(已知int型变量占两个字节)()。A.结构体变量a与结构体成员a同名,定义非法。B.程序只在执行到该定义是才为结构体变量a分配存储单元。C.程序运行时为结构体变量a分配六个自己存储单元D.以上说法都不对8、若有以下定义和语句:structstudent{intnum;charname[12];struct{intyear;intmonth;intday;}birth;}structstudents;设变量s中“生日”是“2013年1月1日”,下列对“生日”的正确赋值方式是()。A.year=2013;month=1;day=1;B.birth.year=2013;birth.month=1;birth.day=1;C.s.year=2013;s.month=1;s.day=1;D.s.birth.year=2013;s.birth.month=1;s.birth.day=1;9、若有以下定义和语句:structst{intx;chary;}s;则下列赋值正确的是()。A.st.x=10;B.st.s.x=10;C.structst={10,7};D.structsta={10,7};10、以下数据类型中不是构造类型的是()。A.数组型B.指针型C.结构体D.共用体11、若有以下定义,则能打印出字母M的语句是()。structperson{charname[12];intnum;};structpersonclass[8]={“Linan”,20,“zhanghai”,18,“Maming”,23,“wanghua”,25,“chenqi”,17};A.printf(“%c”,class[3].name);B.printf(“%c”,class[3].name[1]);C.printf(“%c”,class[2].name[1]);D.printf(“%c”,class[2].name[0]);12、下列程序段正确的是()。A.structdata{longnum=12001;floatcost=50.5;};B.structdata{longnum;floatcost;};data={12001,50.5};data.num=12001;C.structdata{longnum;floatcost;}d1;scanf(“%d%f”,&d1);printf(“%d%f”,&d1);D.structdata{longnum;floatcost;};structdatad1={12001,50.5};13.若有以下定义和语句:structstr{chara;charb;}g;则以下给结构体变量g的成员a正确赋值的语句是:_______。A)g='h'; B)a='h'; C)str.g.a='h'; D)g.a='h';1-1全国行政区划(2012年底)单位:个省级区划名称地级县级乡镇级区划数#地级市区划数#市辖区#县级市#县#自治县区划数#镇#乡级#街道办事处全国333285285286036814531174044619881132817282北京市1614232514438143天津市1613324512311111河北省11111723722107622341019940274山西省11111192311851397564632201内蒙古自治区1291012111171010490277243辽宁省141410056171981515615270630吉林省98602020173895429189277黑龙江省131212864184511278485409384上海市17161208108298江苏省1313102552324128183696349浙江省11119032223511341650279412安徽省1616105436561509923334252福建省99852614451104609320175江西省11111001911701540802596142山东省171713848306018241094113617河南省171715950218823991014827558湖北省131210338243821232746188298湖南省1413122351664723881131952305广东省212112156233931586113111444广西壮族自治区141410934756121243715411117海南省332046462221832118重庆市38191541012604220188四川省211818145141184466018312549280贵州省96881375611151872971079云南省168129131176291365659584122西藏自治区7174117269314054310陕西省1010107243801418113680202甘肃省1412861745871345470758117青海省81434230739613822830宁夏回族自治区552292112371019244新疆维吾尔自治区14210111226261026262601162香港特别行政区澳门特别行政区台湾省1-2国民经济和社会发展总量与速度指标指标总量指标指数(%)平均增长速度(%)(2012为以下各年)1978199020002011201219781990200020111979-1991-2001-201220122012人口与就业人口(万人)总人口(年末)96259114333126743134735135404140.7118.4106.8100.51.00.80.6男性人口4956758904654376906869395140.0117.8106.0100.51.00.70.5女性人口4669255429613066566766009141.4119.1107.7100.51.00.80.6城镇人口1724530195459066907971182412.8235.7155.1103.04.34.03.7乡村人口790148413880837656566422281.376.379.497.8-0.6-1.2-1.9就业(万人)就业人员数4015264749720857642076704191.0118.5106.40.5城镇登记失业人数530383595922917173.0239.44.03.7宏观经济国民经济核算(亿元)国民总收入3645.218718.398000.5468562.4516282.12410.3853.3321.1108.19.810.210.2国内生产总值3645.218667.899214.6473104.0518942.12422.7860.0318.8107.79.810.310.1第一产业1027.55062.014944.747486.252373.6456.6239.5164.84.3第二产业1745.27717.445555.9220412.8235162.03806.61251.7351.9107.911.312.211.1第三产业872.55888.438714.0205205.0231406.53272.0903.5342.2108.110.810.510.8支出法国内生产总值3605.619347.898749.0472619.2529238.4最终消费支出2239.112090.561516.0232111.5261832.8居民消费1759.19450.945854.6168956.6190423.8政府消费480.02639.615661.463154.971409.0资本形成总额1377.96747.034842.8228344.3252773.2固定资本形成总额1073.94827.833844.4215682.0241756.8存货增加304.01919.2998.412662.311016.4货物和服务净出口-11.4510.32390.212163.314632.4固定资产投资全社会固定资产投资总额(亿元)4517.032917.7311485.1374694.78295.21138.3120.322.422.6城镇3274.426221.8302396.1364854.111142.61391.4120.723.924.5#房地产开发253.34984.161796.971803.828352.91440.7116.230.525.4全社会房屋施工面积(万平方米)13717126529410355191167238850.9440.0112.710.213.1全社会房屋竣工面积(万平方米)107952181974329073335504310.8184.4102.05.35.2消费社会消费品零售总额(亿元)155983003910618391921030713493.32533.8537.8114.315.515.815.0对外贸易(亿美元)货物进出口总额206.41154.44742.936418.638671.218736.03349.9815.3106.216.617.319.1出口额97.5620.92492.018983.820487.121012.53299.6822.1107.917.017.219.2进口额108.9533.52250.917434.818184.116697.93408.4807.9104.316.217.419.0实际利用外资额(亿美元)外商直接投资34.9407.21160.11117.23203.8274.496.317.18.8外商其他投资2.786.416.915.8588.818.393.58.4-13.2财政(亿元)国家财政收入1132.32937.113395.2103874.4117253.510355.73992.2875.3112.914.618.219.8中央175.8992.46989.251327.356175.231959.55660.4803.7109.418.520.119.0地方956.51944.76406.152547.161078.36385.73140.8953.4116.213.017.020.7国家财政支出1122.13083.615886.5109247.8125953.011224.94084.6792.8115.314.918.418.8中央532.11004.55519.916514.118764.63526.41868.1339.9113.611.014.210.7地方590.02079.110366.792733.7107188.318168.45155.51034.0115.616.519.621.5物价总指数(上年=100)居民消费价格指数100.7103.1100.4105.4102.6商品零售价格指数100.7102.198.5104.9102.0农产品生产价格指数103.997.496.4116.5102.7工业生产者出厂价格指数100.1104.1102.8106.098.3工业生产者购进价格指数105.6105.1109.198.2固定资产投资价格指数108.0101.1106.6101.1能源生产与消费(万吨标准煤)能源生产总量62770103922135048317987331848528.7319.3245.7104.45.05.47.8能源消费总量5714498703145531348002361732633.0366.5248.67.9产业农业农林牧渔业总产值(亿元)1397.07662.124915.881303.989453.0700.6343.6178.95.0主要农产品产量(万吨)粮食30476.544624.346217.557120.858958.0193.5132.1127.6103.22.01.32.0棉花216.7450.8441.7659.8683.6315.5151.6154.83.7油料521.81613.22954.83306.83436.8658.6213.0116.31.3甘蔗2111.65762.06828.011443.512311.4583.0213.7180.35.0甜菜270.21452.5807.31073.11174.0434.580.8145.4109.44.4-1.03.2茶叶26.854.068.3162.3179.0667.8331.4261.98.4水果657.01874.46225.122768.224056.83661.81283.4386.4105.711.212.311.9肉类6013.97965.18387.2139.5105.32.8奶类919.13810.73875.4421.6101.712.7水产品465.41237.03706.25603.25907.71269.5477.6159.44.0工业主要工业产品产量
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 系统参数配置说明
- 奈达功能对等理论研究概述
- 领导班子建设情况报告(三篇)
- 预沉淀技术在海水淡化处理中的应用考核试卷
- 锂离子电池制造中的质量管理与持续改进考核试卷
- 锡冶炼中的资源综合利用与环保考核试卷
- 隔音材料的声屏障设计与应用考核试卷
- 遗址保护规划的科学性探讨-洞察分析
- 血热证诊疗规范制定与实施-洞察分析
- 烟草绿色供应链信息化管理-洞察分析
- 加油站员工绩效考核(标准版)
- 广东省中山市2022-2023学年高一上学期期末考试物理试题
- 是谁杀死了周日
- 有关基建的工作总结
- 无人机技术在电信领域的应用
- 2023-2024学年四川省南充市七年级(上)期末数学试卷(含解析)
- 氮化硅的制备性质及应用课件
- 物业多种经营问题分析报告
- 浙江省宁波市镇海区2023-2024学年九年级上学期期末数学试题(含答案)
- 员工健康状况筛查方案
- 执行 如何完成任务的学问
评论
0/150
提交评论