《编程基础练习题.docx》由会员分享,可在线阅读,更多相关《编程基础练习题.docx(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、编程基础练习题一、单项选择题.下列数据中属于“字符串常量”的是(A ) .A. a B. ABC C. , abcO* D. a.字符串“ABC在内存占用的字节数是(B )。A. 3 B. 4 C. 6 D. 8.字符串 ABCD”内存占用的字节数是(C )。A. 4 B. 6 C. 7 D. 8.在C语言中,合法的长整型常数是(A )。A. OL B. 4962710 C. 0. 054838743 D. 2.1869el0.在C语言中,合法的短整型常数是(D )。A. OL B. 0821 C. 40000 I). 0x2a.下列数据中不属于“字符常量”的是(C )。A.B. 160 C.
2、 070 D. 070. char型常量的内存中存放的是(A )。A. ASCII代码值B. BCD代码值C.内码值D.十进制代码值.常数的书写格式决定了常数的类型和值,03322是(B )。A、16进制int类型常数B、8进制int类型常数C、1()进制int类型常数I)、10进制long int类型常数11 .“e2” 是(D )。A、实型常数100 B、值为100的整型常数C、非法标识符D、合法标识符.要为字符型变量a赋初值,下列语句中哪一个是正确的(A )。A、char a=, 3 ; B、char a=w 3 ; C、char a=%; I)、char a=*;A. 6 B. 7 C
3、. 11 D. 125.合法的数组定义是(A )。A. char a = string ” ; B. int a5 =0, 1,2, 3,4,5:C. char a= string ” ; D. char a = (0, 1, 2, 3, 4, 5)6.合法的数组定义是(B )。A. int a3 =0,1,2,3,4, 5; B. int a 3 =0, 1,2, 3,4);C. int a23=0,1,2,3,4,5,61; D. int a2 3 = 0,1, 2, 3, 4, 5,;7.下列语句中,正确的是(D )。A. char a3 = (abcf ,*1 ); B. char a
4、 3 = ,abc , , 1 ;C. char a3 = r (strl, str2), str3);的功能是(C )。A.将字符串strl复制到字符串str2中后再连接到字符串str3之后。B.将字符串strl连接到字符串str2之后再复制到字符串str3之后。C.将字符串str2复制到字符串strl中后再将字符串str3连接到字符串strl之后。D.将字符串str2连接到字符串strl之后再将字符串strl复制到字符串str3中。13 .有字符数组定义如下,则合法的函数调用是(A ) char a = I am a student , b = u teacher ;A. strcmp(a
5、, b); B. strcpy(a, b0); C. strcpy(a7, b); D. strcat (a7,b);14 .有字符数组定义如下,则不能比较a, b两个字符串大小的表达式是(D )char a = abcdefg, b = abcdefh”;A. strcmp(a, b) =0 B. strcmp(a, b)0 C. strcmp(a, b) 0 I). ab(二)填充题. C语言中,数组的各元素必须具有相同的类型,元素的下标下限为0 ,但在程序执行 过程中,不检查元素下标是否越界。下标必须是正整数、0、或者整型表达式。1 . C语言中,数组在内存中占一片连续的存储区,由数组名
6、代表它的首地址。数组名 是一个地址常量,不能对它进行加、减和赋值运算。2 .执行 static int b5, a 3 =1,2, 3,4, 5,6;后,b4 = 0 , al 2 = 6。3 .设有定义语句 static inta34=l,2,3:则 al 0值为 2 a1 1值为 0 ,的值为0 o.设有定义语句 static char a10 = abed;则 a3值为 d , a5值为0。7 .如定义语句为 char a = windows, b = 95;,语句 printf (*%sz,, strecit (a, b);的输出结果为 windows95。8 .定义语句为 char
7、a15, b = windows 95”;,则语句 printf strcpy(a, b);的输出结果为windows 959 .定义语句为 char a = n Box,b = Boss” ;,语句 printf (w %dw , strcmp(a, b); 输出5 o.定义语句为:char a10=w studentM ,语句 printf ( %d , strlen(a);的输出结果为7 o.若在程序中用到putchar()函数时,应在程序开头写上包含命令ttincludc ,若在程序中用到strlen()函数时,就在程序开头写上包含命令0include 0(三)程序分析题7.阅读下列程
8、序,写出程序运行的输出结果。#include #include void main()输出结果:* char strl =*; *for(int i=0;i0* ;)8.阅读下列程序,写出程序运行的输出结果。1 0 2 2 5 7 13 20#include void main() int a8 = l,0l,0,l,0, l,0),i;for(i=2;i8;i+) ai+=ai-l+ai-2;for (i=0; i0)? x*f(x-l):3); i=f(f(D);.以下程序运行后的输出结果是int f (int a) return a%2; main() int s8 = l, 3, 5,
9、2,4,6, i, d=0;for (i=0; f(si) ; i+) d+=si;printf (/,%dn,, d);4.有以下程序运行后的输出结果是 int f (int n) if (n=l) return 1;else return f(n-l)+l;)main()int i,j=0;for(i=l; i=和 “”和“” C、= 和!= D、“3?2:2. int b=0, x=l;执行语句 if(x+) b=x+l;后,x, b 的值依次为(A )。A. 2, 3 B. 2, 0 C. 3, 0 D. 3, 2.设有语句ini a=3;,则执行了语句a+=a-=a*a ;后,变量a
10、的值是(D )。A. 3 B. 0 C. 9 D. -12.设有语句int a=3;,则执行了语句a+=a-=a*=a;后,变量a的值是(B )。A. 3 B. 0 C. 9 D. -12.在以下一组运算符中,优先级最高的运算符是(C )。A. = B. = C. % D. &.在以下一组运算符中,优先级最低的运算符是(D )A. * B. != C. + D.=.设整型变量i, j值均为3,执行了尸i+, j+, +i后,i, j的值是(B )。A. 3, 3 B. 5, 4 C. 4, 5 D. 6, 6.若已定义x和y为double类型,则表达式x=l, y=x+3/2的值是(C )。A
11、. 1 B. 2 C. 2.0 D. 2.5.表达式 1? (0? 3: 2 ) : (10? 1: 0)的值是(B )。A. 3 B. 2 C. 1 D. 0.设 a=l, b=2, c=3, d=4,则表达式:ab? a : cd? a : d 的结果为(D )。A. 4 B. 3 C. 2 I). 140.设a为整型变量,不能正确表达数学关系:10a15的C语言表达式是(A )。A. 10a10 & a15 D. ! (a=15)41 . int a=0; if(a=l) a+=10;结果的值是(B )。A. 0 B. 11 C. 10 D.出错.下列表达式中符合C语言语法的赋值表达式是
12、(C )。A. a=7+b+c=a+7 B. a=7+b+=a+7 C. a=(7+b, b+,a+7) D. a=7+b,c=a+7.设f是实型变量,下列表达式中不是逗号表达式的是(D ) ,A. f= 3. 2, 1.0 B. f0, f0 1). f=(3. 2, 1.0)一一 赋值表达式.下列表达式中,不正确的表达式是(B )。A. a=l, b=l B. y=int (x) C. a=b=5 D. i+47.设有整型变量a=35,表达式(aa15) &(a|15)的值是(B ) .A. 0 B. 1 C. 15 I). 35.设a是char型变量,其值字符为1,则把其值变成整数1的表
13、达式是(C )。A. (int)a B. int(a) C. a= a - 48 D. a / (int)a.设a是int型变量,其值为3,则把其值变成字符3,的表达式是(I)。A. (char)a B. a=3 C. a= a - 48 D. a= a+48.设ch是char型变量,其值为A,则下面表达式的值是(B )。ch= (ch= A & ch scanf (w %d%cn , a, c);C、scanf (,r %d%cw ,&a,&c); D、scanf ( d二%d, c=枇,&a, &c);58 .字符变量ch= A ,int类型变量k=25,语句printf(为3d,%d3n
14、,ch,k);输出(A 6A、65, 253 B、65 253 C、65, 25 D、A 2563.使用 scanf ( x=%f, y=%f ” , &x, &y);要使 x, y 均为 1.25,正确的输入是(C)。A. 1.25, 1.25 B. 1.25 1.25 C. x=l. 25, y=l. 25 D. x=1.25 y=l. 2564.要使double x; long a;获得数据,正确的输入语句是(C )。A. scanf ( w%d, %f , &a, &x) ; B. scanf ( %f, %ld , &x, &a );C. scanf ( %ld, %lf ”,&a,
15、 &x); D. scanf ( %ld, %lfw , a, x);67.设有 int i=01(), j=10;则 printf( %d*dn,+i, j-);的输出的是(B ).A. 11, 10 B. 9, 10 C. 010, 9 D. 10, 968.设 a、b 为字符型变量,执行 scanf ( “a=%c,b=%c,&a, &b);后使a为A,, b为IT ,从键盘上的正确输入是(D )。A. A B B. A , B C. A=A, B=B D. a=A, b二B二、填充题1.无符号基本整型的数据类型符为unsigned ,双精度实型数据类型符为double , 字符型数据类
16、型符为char .7 .设下列运算符:。、+、+、&、b 的值为 1 , abc 的值为 0 (abc ab 为 1 lc 假为 0 )。11 .若已知a=10, b=2(),则表达式!a=, a &ch= A &chb?a:b。28 .若 a=13 b=25、c=-17,条件表达式(y=(ab)?a:b)(c*c)&b=c| |cb 的值为 0。34. int a=3, b=5, c=7;,表达式 ac 11 cb!=O&c=b+a 的值为 0 。第三章程序设计结构一、单项选择题1 .假定所有变量均已正确定义,下列程序段运行后y的值是(A )。int a=0, y=10:if(a=0) y
17、; else if(a0) y+; else y+=y ;A. 20 B. 11 C. 9 D. 02 .假定所有变量均已正确定义,下列程序段运行后x的值是(B )。a=b=c=0, x=35;if(!a) x; else if(b) ; if(c) x=3; else x=4;A. 34 B. 4 C. 35 D. 3.下列各语句序列中,能够且仅输出整型变量a、b中最大值的是(C )。A、if (ab) printf ( %dn,a); printf (n %dn , b);B、printf( %dn , b); if(ab) printf(w %dnw , a);C、if(ab) prin
18、tf(w %dnw , a) ; else printf(w %dnw , b);)、if (as)t=u; t=s; B、 t=s; if(us)t=u;C、 if(us)t=s; else t=u; D t=u; if(us)t=s;5 .下列各语句中,能够输出整型变量a、b中最大值的是(I)。A printf (w %dnM , (ab)?a, b); B、(ab)? printf(w %dw ,a):printf(w %d,* ,b);C、printf (M %dw , if (ab)a else b); D printf (w %dnw , (ab)?a:b);6 .下列语句应将小写
19、字母转换为大写字母,其中正确的是(B )。A、 if(ch=, a &ch=, a &ch=, a &ch a &ch, z* )?ch-32:ch;7 . int a=l, x=l;循环语句 while(a 10) x+; a+;的循环执行(A )。A.无限次B.不确定次C. 10次D. 9次.下列语句中,错误的是(B )。A. while(x=y) 5; B. do x+ whi1e (x= =10);C. while(0) ; D. do 2; while(a= =b);10. 循环语句 for(x=0, y=0: (y! =123) | | (x0; i+);的循环执行(A )。A.无
20、限次B.不确定次C. 10次D. 9次i、j已定义为int类型,则以下程序段中内循环体的执行次数是(A )。for(i=5; i; i-)for(j=0; j4; j+) A. 20 B. 24 C. 25 D. 30C语言while语句中,用于条件的表达式是(D )A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式while循环,执行次数是(A )i=4; while(-i) printf (, i);A. 3次B. 4次C. 0次D.无数次二、填充题.结构化程序设计规定的三种基本结构是顺序结构、选择结构和循环结构。1 .三种循环语句是等价的。2 .当循环体中的switch语句内有br
21、eak语句,则只跳出switch语句。同样,当switch 语句中有循环语句,内有Freak语句,则只跳出循环 语句。3 .循环体中的continue语句是结束本次循环。10 .程序段 int s, i; for(i=l;i=100;s+=i, i+);能否计算 1100 的和?不能, 原因是s没有初试为0。11 .若 int 类型变量字长为 2,程序段 int jc=l; for (int i=2; i10; i+) jc*=i;能否计算10的阶乘?不能计算10阶乘,原因是i10 ,且int i不能表示10阶乘。12 .设i, j, k均为ini型变量,则执行完下面的for循环后,k的值为1
22、0。for(i=0, j=10; i=j; i+, j) k=i+j;.下列程序的功能是输入一个正整数,判断是否能被3或7整除,若能整除,输出“YES”, 若不能整除,输出“N0”。请为程序填空。void main () int k;scanf ( “%d” , &k);if (k%3=0) 11 (k%7=0) printf( “YESn); else printf ( “N0n”);三、程序分析题1.阅读程序,写出运行结果。10, 4, 3void main () int a=10, b=4, c=3;if(ab) a=b ;if(a0; y )if (y%30) printf (,y);
23、 continue;)第四章数组(一)单项选择题.若有以下数组说明,则数值最小的和最大的元素下标分别是(B)。int a12 =1,2, 3, 4, 5, 6, 7,8,9, 10, 11, 12);A. 1, 12 B. 0, 11 C. 1, 11 D. 0, 121 .若有以下说明,则数值为4的表达式是(D )。int a12 =1,2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12; char c=, a , d, g ;A. ag-c B. a4 C. a *df - D. ad -c(即 a d -)2 .设有定义:char s12 = wstring ”则 p设ntf( %dn” , s又len(s);的输出是 (A )。A. 6 B. 7 C. 11 D. 12.设有定义:char s12 = string 则 printf ( %dn , sizeof (s);的输出 是(B )。