C程序设计复习题.doc

上传人:小** 文档编号:15509769 上传时间:2020-08-14 格式:DOC 页数:30 大小:187KB
返回 下载 相关 举报
C程序设计复习题.doc_第1页
第1页 / 共30页
C程序设计复习题.doc_第2页
第2页 / 共30页
C程序设计复习题.doc_第3页
第3页 / 共30页
点击查看更多>>
资源描述
程序设计基础 题目之二一、选择题1、C语言源程序的基本单位是( )。 A) 过程 B) 函数 C) 子程序 D) 标识符2、下列程序的输出结果是( )。main( ) int a=7,b=5; printf(%dn,b=b/a);A) 5 B) 1 C) 0 D)不确定值3、假设变量a,b均为整型,表达式(a=5,b=2,ab?a+:b+,a+b)的值是( )。A) 7 B) 8 C) 9 D) 24、设a为int型变量,执行下列赋值语句后,a的取值分别是( )。a=125.534; a=(int)125.521%4; a=52;A) 125,31,1 B) 125,1,20 C) 125,31,20 D) 125.534,2,205、设有如下程序段,下面描述中正确的是 ( )。int k=10; while(k=0) k=k-1;A) 循环执行一次 B)循环是无限循环 C)循环体语句一次也不执行 D)循环体语句执行一次6、以下程序的输出结果为( )。int i;void prt( ) for(i=5;i8;i+) printf(%c,*); printf(t);main( ) for(i=5;in B) +p-n C) p-n+ D) (*p).n+14、C语言中的文件类型只有( )。 A) 索引文件和文本文件两种 B) 文本文件一种C) 二进制文件一种 D) ASCII码文件和二进制文件两种15、若变量c为char类型,能正确判断出c为小写字母的逻辑表达式是( )。A) a=c= a) | (c= z)C) (a=c) D) (c= a) & (c= z)16、一个C程序的执行是从 。 A)本程序的main 函数开始,到本程序文件的最后一个函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序的main 函数开始,到main函数结束 D)本程序文件的第一个函数开始,到本程序main函数结束17、设有int i;char c; float f ;在如下表达式中结果为整数的是 。 A)i+f B) i*C C)c+f D)i+c+f18、putchar函数可以向终端输出一个 。 A)字符串 B)实型变量值 C)整型变量表达式 D)字符或字符型变量19、为了避免嵌套 if.else.语句的二义性,C语言规定else 总是与 组成配对。 A)缩排位置相同的if B)在其之前的未配对的if C)在其之前的未配对的最近的if D)同一行上的if20、设有如下程序段 int k=10; while(k=0)k=k-1; 则下面描述中正确的是 。 A)while循环执行10次 B)循环是无限循环 C)循环体一次也不执行 D)循环体语句执行11次21、结构化程序的三种基本结构是 。A)顺序结构、选择结构、循环结构 B)递归结构、循环结构、转移结构C)嵌套结构、递归结构、循环结构 D)循环结构、转移结构、顺序结构22、以下函数调用语句中含有( )个实参。func(e1,e2),(e3,e4,e5); A) 2 B) 3 C) 5 D) 语法错误23、以下叙述不正确的是 。 A)一个C程序可由一个或多个函数组成 B)一个C程序必须包含一个main函数 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面24、C语言用 表示逻辑“真”值。A)t B)y C)非0整数值 D)整数125、若变量c为char类型,能正确判断出c为小写字母的逻辑表达式是 。A) a=c= a) | (c= z)C) (a=c) D) (c= a) & (c= z)26、设有如下程序段 int k=10; while(k=1) k=k+1;则下面描述中正确的是 。 (A)while循环执行10次 (B)循环是无限循环 (C)循环体一次也不执行 (D)循环体语句执行11次27、设有说明语句:char a=21;则变量a 。(A) 包含1个字符 (B) 包含2个字符 (C) 包含3个字符 (D) 说明不合法28、假设struct student int num; float score; stu_1;则下面的叙述不正确的是 。(A)struct是结构体类型的关键字(B)struct student是用户定义的结构体类型(C)stu_1是用户定义的结构体类型名(D)num 和score都是结构体成员名29、在VC中,设int a10,假设数组a开始于内存4000单元,每个int 类型数据占用4个字节,则a2的存储始于 。 (A) 4002 (B) 4004 (C) 4008 (D)401230、 以下述叙正确的是 。(A) 在C程序中注释说明只能位于一条语句的后面(B) C程序的每行中只能写一条语句(C) C语言本身没有输入输出语句(D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误31、下面标识符中,均为不合法的用户标识符为 ( )A) AB、x_0、for B) float、1a0、_YC) x-y、goto、123 D) _123、tmp、CHAR32、C语言中,int型数据在内存中的存储形式是 ( )A) ASCII码 B) 原码C) 反码 D) 补码33、执行printf(“%x”, 100);后的输出结果为 ( )A) 100 B) 0x100C) 0x64 D) 6434、能表示条件100x100的C语言表达式是 ( )A) 100=x=100, x=100 & x=10035、C程序中,注释部分的位置 ( )A) 必须在一行的开始 B) 必须在语句之后 C) 必须在一行的最后 D) 以上三种都可以36、对数组的描述正确的是 ( )A) 数组一旦定义其大小是固定的,但数组元素的类型可以不同B) 数组一旦定义其大小是固定的,但数组元素的类型必须相同C) 数组一旦定义其大小是可变的,但数组元素的类型可以不同D) 数组一旦定义其大小是可变的,但数组元素的类型必须相同37、有输入语句:scanf(a= %d,b= %d,c=%d,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 ( )A)132 (回车) B)1,3,2 (回车)C)a=1 b=3 c=2 (回车) D)a=1,b =3,c =2 (回车)38、已知ch是字符型变量,下面正确的赋值语句是 ( )A) ch= 123; B) ch= xff;C) ch= 08; D) ch=;39、以下程序的输出结果是: ( )main()int x=2, y=1, z=2;if (xy)if(y0) z= 0;else z+ =1;printf(%dn,z);A)3 B )2 C)1 D) 040、下面程序段的运行结果是: ( )a=1; b= 2; c=3;while(ab 关系运算符 !(非) &(与) |(或) 赋值运算符B 算术运算符 !(非) 关系运算符 &(与) |(或) 赋值运算符C !(非) 关系运算符 算术运算符 &(与) |(或) 赋值运算符D !(非) 算术运算符 关系运算符 &(与) |(或) 赋值运算符52、有定义int x=5, y=6, z=3; 执行语句z*=x+y; 后,z的值为( )A11B33C21D2353、已知b=0, ch = a 则表达式(!chbc)printf(ok);elseprintf(bad);A编译错 Bok Cbad D无输出59、存贮字符串 abc37f 需要( )个字节A11B8C6D760、若有定义int a2 = 1,2,3,4,5,6,7,8,则数组元素a11的值为( )A1B2C3D461、下面不正确的字符串常量( )(A)scau (B) 2008 (C)0 (D) 62、运行完下面的C语言程序段后,m的值是( )int k = 4,m;m = k+;(A) 4 (B) 5 (C) 6 (D) 763、下列表达式中,结果为1的表达式是( )(A) !0=1 (B) !6 (C) !23 (D) !3!=064、下列叙述中,正确的是( )(A)引用带参数宏时候,实际参数的类型应与宏定义时的形式参数类型一致(B)宏名必须大写(C)宏替换不占用运行空间,只占用编译时间(D)在程序的一行上可以出现多个有效的宏定义65、调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是( ) (A)92,23 (B) a=92,b=23 (C)92:23 (D) 92 2366、C程序由main开始执行,函数main的位置是( ) (A)必须在其他函数之前 (B)任意函数之前或之后 (C)必须在其它函数之后 (D)必须在程序的中间67、若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是 ( ) (A)1 (B)2 (C) 2.0 (D)2.568、以下标识符组中, 合法的用户标识符为( ) (A) x-y (B) long (C) x_123 (D) 12369、已知梯形的上底为a,下底为b,高为h,下面用C语言写的正确的面积公式为:( )(A)1/2*(a+b)*h (B)1.0/2*(a+b)*h (C)1.0/2.0(a+b)h (C)1.02*(a+b)*h70、字符串”4567n”在内存中所占的字节数( )(A)14 (B)9 (C)10 (D)1171、下列的表达式中,值为0的表达式为:( )(A)3!=0 (B)3!=34 (C)34=0 (D)65472、下面正确定义数组的语句是( )(A)int x2=2,1,3,2 (B) int x=2,1,3,2(C)int x2=2,1,3,2 (D) int x2,2=2,1,3,273、若有以下程序段:int x12=1,2,3,4,5,6,7,8,9,10,11,12;char c=a,d,g;则数值为4的表达式是( )(A)xg-c (B)x4 (C)xd-c (D)xd-c74、能正确表示逻辑关系:“a20或a0”的C语言表达式是 ( )(A) a=20 or a=0 | a=20 & a=20a=n&!n&chb)的值是( )(A) 0 (B) 1 (C) 真 (D) 假二、判断题1、unsigned 和void 在C中都是保留的关键字。( )2、7/2+12的值是15.5。( ) 3、C语言中一个int的变量在内存中占2个字节。( )4、在C语言程序中,若函数说明未给出返回值类型,系统默认为void类型。( )5、void play(int a, b) ; 是一个合法的函数说明。( )6、在main函数中说明的变量,有效范围是main函数及其调用的函数。( ) 7、C语言中的函数可以嵌套调用,也可以递归调用。( ) 8、程序段 int x; 1=x; 是正确的。( )9、对于 for(j=1;j=20;j+)形式的循环语句,肯定要执行20次循环。( )10、对于字符串 ”welcome0”,使用strlen函数所求出的字符串长度是7。( )11、C程序执行的入口是main函数,所以main函数必须放在程序的开头。( )12、注释内容太多会影响程序的执行效率。( )13、若i, sum都为整型,则语句:for(i=1, sum=0;i=100;i+) sum=sum+i;执行完毕之后i为100。( )14、若定义int a510,则数组中最后一个有效元素是a510。( )15、若运行时输入:100(回车)时,下面的程序运行结果是:no( )main()int a;scanf(“%d”,&a);printf(“%s”, (a%2)!=0? “no” : “yes”);16、字符串“that”小于字符串“The”。( )17、若调用一个函数,且此函数中没有return语句,则没有返回值。( )18、若i为整型变量,则以下循环体执行次数是0次。( )for(i=2; i= =0; )printf(“%d”, i-);19、对于“do 循环体 while (循环条件);”,这个循环结构有可能一次循环体的内容都无法执行。( )20、当定义了一个结构体变量时,系统分配给它的内存是各成员所需内存量的总和。( )31、 C程序中,指针变量加1,意味着指针向后移动2个字节。( )32、C语言程序总是从第一个函数开始执行。( )33、用do-while语句构成的循环,在while后的表达式为非零时结束循环。( )34、在不同的函数中可以使用相同名字的变量。( )35、int func(int a, b); 是一个合法的函数说明。( )36、不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。( )37、一个函数包括数据说明部分和执行语句部分,两者不可以交叉出现。( )38、存储字符数组中的最后一个字符必须是0。( )39、函数的实参和形参可以是相同的名字。( ) 40、赋值运算符左边可以是表达式。( )41、字符常量是用一对双引号括起来的一个字符。( )42、注释内容太多会影响程序的执行效率。( )43、对于“while (循环条件) 循环体;”,这个循环结构有可能一次循环体的内容都无法执行。( )44、函数的实参和形参可以是相同的名字。( )45、定义数组时,数组长度可以是整型常量。( )46、循环体中continue语句的作用是结束整个循环的执行。( )47、在main函数中说明的变量,有效范围是main函数。( )48、在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。( )49、C语言中的函数可以嵌套调用,也可以递归调用。( )50、执行语句for(i=1;i+10;);后变量i的值是10。( )51在Turbo C中,整型数据在内存中占2个字节。( )52int i=20;switch(i/10)case 2:printf(A);case 1:printf(B);的输出结果为A。( )53break语句用在循环体中,可结束本层循环,continue语句用在循环体中,可结束本次循环。( )54函数的递归调用不过是一个函数直接或间接地调用它自身。( )55函数strlen(ASDFGn)的值是7。( )56通过return语句,函数可以带回一个或一个以上的返回值。( )57结构体类型只有一种。 ( )58char *p=girl;的含义是定义字符型指针变量p,p的值是字符串girl。( )59若有定义:char *p(char a10);则p是函数名。( )60用fopen(file,r+);打开的文件file可以进行修改。 ( )三、写出程序的运行结果1、 main() int a=6,b=4; a = a+b; b = ab; a = a-b; printf(“a=%d, b=%d”, a, b);运行结果:_2、 main() int m,n; for (m=5;m=10;m+) for (n=2;n=m-1;n+) if (m%n=0) printf(“%dt”,m);运行结果:_3、main() int a10=1,2,3,4,5,6,7,8,9,10; int i;for (i=2;i=8;i+) ai=a10-i; a10-i=ai;for (i=1;i=9;i+)printf(“%d ”,ai); 运行结果:_4、 int func(int b) int a; a=b+100; return (a);main() int a,b;a=1;b=func(a); printf(“a=%d,b=%d ”, a,b);运行结果:_5、下面程序的功能为:从字符串Computer and C中删去所有空格,请填空。#include main()char str180=Computer and C, str280;int i,j=0;for(i=0; i=area2)printf(“Area=%fn”, );elseprintf(“Area=%fn”, area2-area1);8、 #include stdio.hmain() int a=1 ,b , c=15, d; b = a +; d = c/6; c = c%7; printf(a=%d, b=%d, c=%d, d=%dn, a, b, c, d);运行结果为:_9、 #include stdio.hmain()int a=6, b=3;switch (ab) case 1: printf(abn); case 0: printf(not abn); default: printf(Unkown); 运行结果为:_10、 #include stdio.hint x=1;int F(int y) x=x+1;y=x+y;return(y);main() int y=10,z;z=F(y);printf(x=%d,y=%d,z=%d,x,y,z);运行结果为:_11、 #include stdio.hmain()int i, count=0;for (i = 1; i=24; i+)if (24%i= =0)count+;printf(%d , i);printf(ncount = %d, count);运行结果为:_12、已定义int j;则下面程序段的输出结果是( )for(j=7;j10;j+) printf(“%d”,j);(A)8910 (B)789 (C)91011 (D)无结果13、下面程序的运行结果是( )int main()int i,j,sum;for(i=2;i7;i+) sum = 1;for ( j=1;j7;j+ ) sum = sum + j;printf(%d,sum);return 0;(A)48 (B)22 (C)1 (D)714、下面程序的运行结果是( )int main()int x3,i,j,k;for(i=0;i3;i+) xi=0;k=2;for(i=0;ik;i+)for(j=0;jy) x=y;if(xz) x=z;printf(%d,%d,%dn,x,y,z);(A)3、2、1(B)1、2、3(C)1、2、1(D)1、1、116、下面程序的运行结果是( )int a=3, b=4;void fun(int x1, int x2) printf(%d,%d,x1+x2,b);int main()int a=5, b=6; fun(a,b);(A)3,4 (B)11,1 (C)11,4 (D)11,617、 #include stdio.hmain() int a=1 ,b , c=15, d; b = a +; d = c/6; c = c%7; printf(a=%d, b=%d, c=%d, d=%dn, a, b, c, d);运行结果为:_18、 #include stdio.hmain()int a=6, b=3;switch (ab) case 1: printf(abn); case 0: printf(not abn); default: printf(Unkown); 运行结果为:_19、 #include stdio.hint x=1;int F(int y) x=x+1;y=x+y;return(y);main() int y=10,z;z=F(y);printf(x=%d,y=%d,z=%d,x,y,z);运行结果为:_20、 #include stdio.hmain()int i, count=0;for (i = 1; i=24; i+)if (24%i= =0)count+;printf(%d , i);printf(ncount = %d, count);运行结果为:_四、程序填空题1、一个函数如下,用程序实现之。main() float x, y; scanf(“f”, &x); if (x0) y = x;else if y = ; else y = ; printf(“y=%f”, y); 2、从键盘输入一个字符串,求字符串的长度。#Define MAXSIZE 256main() char strMAXSIZE; int i, sum=0; printf(“Please input string:”); ; for(i=0; iMAXSIZE; i+) if(stri = 0) ; sum+; printf(“%s len is %4d”,str ,sum)3、有下列程序运行时,从键盘输入:ah2MA_Aha(回车)(注:_代表空格),请写出该程序的运行结果。提示:小写字母的ASCII码减去32为对应大写字母的ASCII码,反之,大写字母的ASCII码加上32为对应小写字母的ASCII码。#include “stdio.h”main( )char s80, c=a;int i=0;scanf(“%s”,s);while(si != 0)if(si= =c)si = si-32;else if(si= =c-32)si = si+32;i+;puts(s);运行结果:_4、请写出下面程序的运行结果。#include “stdio.h”main( )int a, s, n, count;a=2; s=0; n=1; count=1;while(count ai) ;printf(min = %dn, min);11、下面程序的功能是输入一个数,判断该数是否为素数,请填空。#include stdio.hmain()int n,i;scanf(%d, &n);for (i=2;in;i+)if(n%i=0) ;if( ) printf(%d is a prime numbern, n);else printf(%d is not a prime numbern, n);12、输入一个字符,判断它是否为数字,如果是,输出”DIG”,否则输出”NO DIG”main() char ch; printf(nch:); scanf(%c, ); if( & ) printf(DIG); else ;13、 一个函数如下,用程序实现。 main() float x,y;scanf(“%f”,&x);if(x2) y=x;else if( ) y= ; else y= ;printf(“y=%f”,y); 14、冒泡排序法的思想:从第一个数开始,用第一个跟第二个数进行比较,若前一个大于后面一个,则交换;再用第二个数跟第三个进行两两比较,如果前者比后者大,则交换。如此循环,直至整个数组排好序为止。设需要排序的数的个数为10。int main()int i,j,temp,a10=8,7,6,9,10,20,78,22,234,32; for (i=0;i9;i+)for(j=0; ;j+)if ( ) temp =aj; aj=aj+1; ;printf(the sorted numbers are :n);for(i=0;i10;i+) printf(%d ,ai);15.有一个3*4矩阵,求其中的最大元素。 max_value( ) int i,j,max;max=array00; for(i=0;i3;i+) for(j=0;jmax) max=arrayij; ;main( ) int a34, i,j; for(i=0;i3;i+) for(j=0;j4;j+) ; printf(“max value is %dn”,max_value(a); 16.输入x、
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!