C程序练习题.docx
- 文档编号:4776378
- 上传时间:2022-12-08
- 格式:DOCX
- 页数:8
- 大小:17.79KB
C程序练习题.docx
《C程序练习题.docx》由会员分享,可在线阅读,更多相关《C程序练习题.docx(8页珍藏版)》请在冰豆网上搜索。
C程序练习题
C程序练习题
一、选择题
1.下列合法的标识符是
(1)。
(A)B.C.Tom(B)3a6b(C)_6a7h(D)$abc
2.以下程序的输出结果是
(2)。
main()
{inti=0,j=0,k=6;
if((++i>0)||(++j>0))k++;
printf(“%d,%d,%d\n”,i,j,k);}
(A)0,0,6(B)1,0,7(C)1,1,7(D)0,1,7
3.下列不正确的转义字符是(3)。
(A)‘\\’(B)‘\’’(C)‘074’(D)‘\0’
4.在C语言中,合法的字符常量是(4)。
(A)‘\086’(B)‘\x6a’(C)‘ab’(D)“\0”
5.已知字母A的ASCII码为65,以下程序段的输出结果是( 5 )。
Charc1=‘A’,c2=‘Y’;
Printf(“%d,%d”,c1,c2);
(A)65,90(B)A,Y(C)65,89(D)输出格式不合法
6.设有如下定义:
intx=10,y=3;
则语句 printf(“%d\n”,(x%y,x/y));的输出结果是( 6 )。
(A)1(B)0(C)4(D)3
7.以下语句的输出结果是(7)。
inti=3,j=2,a;
printf(“%d”,(--i==j++)?
--i:
++j);
(A)2(B)1(C)3(D)4
8.设a,b,c均为整型,且b=c=5,执行以下语句后,a的值为(8)。
a=2+(c+=b++,c+8,++c);
(A)13(B)14(C)20(D)21
9.若有定义:
inti=7;floatx=1.5,y=5.7;则表达式x+i%3*(int)(x+y)%4/2的值是(9)。
(A)2.500000(B)3.000000(C)3.500000(D)0.000000
10.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值是(10)。
A)3B)0C)9D)-12
11..以下程序的输出结果是(11)。
#include
main()
{inta=2,c=5;
printf("a=%%d,b=%%d\n",a,c);}
A)a=%2,b=%5B)a=2,b=5C)a=%%d,b=%%dD)a=%d,b=%d
12.请选出合法的C语言赋值语句(12)
A)a=b=58B)i++;C)a=58,b=58D)k=int(a+b);
13.请选出以下语句的输出结果(13)
printf("%d\n",strlen("\t\"\065\xff\n"));
A)5B)14C)8D)输出项不合法,无正常输出
14.设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a>b)&&(n=c>b)
后n的值为(14)
A)1B)2C)3D)4
15、C语言规定:
在一个源程序中,main函数的位置(15)。
(A)必须在最开始(B)必须在系统调用的库函数的后面
(C)可以任意(D)必须在最后
16.若有以下程序片段:
charstr[]="ab\n\082\\\"";
printf(“%d”,strlen(str));上面程序片段的输出结果是(16)
A)3B)4C)6D)12
17.若有说明:
inta[10];则对a数组的数组元素的正确引用是(17)。
(A)a[10](B)a[4.5](C)a(6)(D)a[0]
18.设a=1,b=2,c=3,d=4,则表达式:
a>b?
a:
c a: d的结果为(18) A)4B)3C)2D)1 19.标有/**/的语句的执行次数是(19) inty,i; for(i=0;i<20;i++) {if(i%2==0)continue; y+=i;/**/ } A)20B)19C)10D)9 20.下列数组说明中正确的是(20) A)intarray[][4]B)intarray[]C)intarray[3][]D)intarray[3][4] 二、填空题 1、对于C的源程序(*.c)要经过 (1)步骤生成目标程序(*.obj)。 2、在C语言中,一个函数由 (2)和(3)构成。 3.字符串“as\n\\\r”在内存中占的字节数为(4),此字符串的长度为(5)。 4、下面程序段中,输出结果为(6)。 inta[5]={1,2,3,4,5},*p=&a[2]; printf(“%d”,*p++); 5、为表示关系x≥y≥z,应使用C语言表达式(7)。 6、C语言规定字符串的结束标志是(8)。 7、若用数组名作为函数调用的实参,传递给形参的是(9) 8、下面程序段中的循环执行次数为(10)。 intx=10; while(x)x=x/2; 三、判断题 1.一个C程序总是从main函数开始执行的。 2.变量在使用前无需定义。 3.在C语言中,函数的调用可以嵌套。 4."a"是字符常量。 5.在C语言中,运算符%的两侧必须都是整数。 6.若定义数组inta[5];,则数组a包含5个元素,分别是a[1],a[2],a[3],a[4],a[5]。 7.下面语句行能正确对二维数组a进行初始化。 inta[][3]={{1,2,3},{4,5,6},{7,8,9}}; 8.函数的形参属于全局变量。 9.指针变量必须先赋值后使用。 10.判断两整型变量x和y是否相等的关系表达式为: x=y 四、程序填空题 1以下程序计算数的阶乘 main() {inti,n;longnp; scanf(“%d”,&n); np=1答案: (1)i=n; for(;2;) (2)--i np*=i; printf(“n=%dn! =%ld\n”,n,np);} 2.计算1—100整数累加和。 main() {inti,sum=3答案: (1)0; i=1; (2);i<=100; for(4) {sum+=i;i++;} } 3.从输入的10个字符串中找出最长的那个串。 #include #defineN10 main() {charstr[N][81],*sp; inti; for(i=0;i sp=str[0];答案: (1)str[i] for(i=1;i (2)strcpy(sp,str[i]); if(strlen(sp) printf(“thelargeststringis: %s\n”,7); printf(“thelengthis: %d\n”,strlen(sp)); } 4.输入一行字符,分别统计其中英文字母和数字的个数 #include main() {charc; intletter=0,digit=0; printf("请输入字符串: \n"); while((c=getchar())! =8) {if(c>='a'&&c<='z'||9) letter++; elseif(c>='0'&&10) digit++; } } 五、阅读程序写结果 1. main()答案: 1 2 {inti,*p;3 b[6]={1,2,3,4,5,6};4 p=&b[0];5 for(i=1;i<=5;i++) {printf(“%d\n”,*p);p++;} } 2. main() {inti,j,a[10]; a[0]=1; for(i=0;i<5;i++) for(j=i;j<5;j++)答案: 46810 a[j]=a[i]+1; for(i=1;i<5;i++) printf(“%4d”,a[i]); } 3.main() {inti=5; do { if(i%2) {i--; continue; i--; } else{i--; break; } } 答案: 3 printf(“i=%d\n”,i); }while(i>0); printf(“%d”,i); } 4.main() {intn=0; while(n=0)n++; printf(“%d”,n); }答案: 0 5.#include main() {char*p="abcde"; inti; for(i=1;i<4;i++) putchar(p[i]); }答案: bcd 六、编写程序 1.不用字符串拷贝函数,把字符串“china”,逆序拷贝到另一数组当中并输出,用函数实现。 2.已知一矩阵,找出每一行中最大元素并求和。 61930 4376 18829 习题1//23 #include voidmain() { intm,t=0; for(m=10;m<15;m++) { switch(m%5) { default: t++; case0: t++;continue; case1: t++;break; case2: t++; } printf("%d",t); } } 习题2//1357 #include voidmain() { intm,t=0; for(m=10;m<15;m++) { switch(m%5) { default: t++; case0: t++;break; case1: t++;continue; case2: t++; } printf("%d",t); } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序 练习题