常熟理工学院c语言题库本二.doc_第1页
常熟理工学院c语言题库本二.doc_第2页
常熟理工学院c语言题库本二.doc_第3页
常熟理工学院c语言题库本二.doc_第4页
常熟理工学院c语言题库本二.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

下面选项中,不能用作C语言标识符的是( C )。 A_00Bprint C&bDFOR下面合法的标识符是( A )。 AIF B-321 Cc fDint可以将高级语言编写的源程序转换为目标程序的软件是( D )。 A汇编程序B解释程序 C编辑程序D编译程序C 语言程序中可以对程序进行注释,注释部分必须用符号( C )括起来。 A“”和“”B“”和“”C“/*”和“*/”D“*/”和“/*”已有预处理命令“#include ”和声明“int x=4, y;”,下面语句中语法正确的是( C )。 Aif(x%2=1)y=x;Bif(sqrt(x)%2)y=x;Cif(x=1)y=x;Dif(x=1)y=&x;下列运算符中,优先级最低的是( D )。 A*B!= C+D=逻辑“异或”运算可描述为当且仅当a、b两个操作数中只有一个为真时才为真,其他情况下均为假。下面能够正确表示逻辑“异或”运算的表达式是( D ))。 Aa | bBa & bC(a&b)&!(a | b)D(a | b)&!(a&b)下面关于continue和break语句的叙述中正确的是( B )。 Acontinue和break语句都可以出现在switch语句中 Bcontinue和break语句都可以出现在循环语句的循环体中 C在switch语句允许出现continue和break语句D执行循环语句中的continue和break语句都将立即终止循环在while(e)语句中的e与下面条件表达式等价的是( D )。 Ae=0Be=1 Ce!=1 De!=0已有函数fun的定义“void fun(void) printf(Thats great! );”,则调用fun函数的正确形式是( B )。 Afun;Bfun();Cfun(void);Dfun(1);设有下列程序段:static int y=2;void f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是( D )。 Ax是全局变量,函数f1可以访问,函数f2不能访问 By是全局变量,函数f1和函数f2都可以访问 Cz是动态变量,函数f1可访问,函数f2不可访问Dd是静态变量,函数f1和函数f2都可以访问已知某编译系统中singed int类型数据的长度是16位,该类型数据的最大值是( A )。 A32767B32768 C127D65535设k=7,x=12,则下列表达式值为3的是( D )。 Ax%=(k%=5)Bx%=(k-k%5)Cx%=k-k%5D(x%=k)-(k%=5)已有定义“int a=5,4,3,2,1,i=4;”,下列对a数组元素的引用中错误的是( B )。 Aa-iBaa0 Ca2*2Daai己有声明“int a=0,b=l,*p,*q;”,下列正确的语句是( C )。 Aa=p;Bb=q; Cp=&a;Dp=&q;C语言中,结构体类型变量在程序执行期间( A )。 A所有成员一直驻留在内存中 B只有一个成员驻留在内存中 C部分成员驻留在内存中 D没有成员驻留在内存中若有定义和声明typedef enumgreen, red, yellow, blue, b1ackcolor; color flower;,则下列语句中正确的是( B )。 Agreen=red;Bflower=red; Ccolor=red;Denum=red;在文件包含预处理语句include的使用形式中,当之后的文件名用双引号括起来时,寻找被包含文件的方式是( C )。 A仅搜索当前目录 B仅搜索源程序所在的目录 C先在源程序所在目录搜索,再按系统设定的标准方式搜索D直接按系统设定的标准方式搜索目录已有定义“int a23=0; *p=a0;”,下面表达式中有语法错误的是( A )。 Aa0=1Bp0=1C*p=1Da00=1下面关于C语言数据文件的叙述中正确的是( D )。 A文件由ASCII码字符序列组成,C语言只能读写文本文件 B文本由二进制数据序列组成,C语言只能读写二进制文件 C文件由记录序列组成,可按数据的存放形式分为文本文件和二进制文件D文件由数据流序列组成,可按数据的存放形式分为文本文件和二进制文件下面选项中,不能用作C语言标识符的是(C)。 AFOR B_10C&hDprint下面合法的标识符是(A)。AIF B-412Ca kDcharC 语言源程序的三种基本结构是顺序结构、(B)结构和循环结构。 A递归 B选择C转移D嵌套已有定义“float x=1.23456; int i;”,欲将x中的数值保留小数点后两位,第三位进行四舍五入运算,能实现该功能的表达式是(A)。Ai=x*100+0.5, x=i/100.0Bx=(x*100+0.5)/100.0Cx=(int)x*100+0.5)/l00.0Dx=(x/100+0.5)/100.0下面定义符号常量p为3.14中正确的是(D)。 A#define p 3.14;B#define p(3.14) C#define p=3.14D#define p 3.14表达式 !x 等价于(A)。 Ax=0Bx=1Cx != 0 Dx!=1下面关于if语句和switch语句的叙述中错误的是(D)。 Aif语句和switch语句都可以实现算法的选择结构 Bif语句和switch语句都能实现多路(两路以上)选择 Cif语句可以嵌套使用 Dswitch语句不能嵌套使用下面关于循环语句for、while、do_while的叙述中正确的是(A)。 A三种循环语句都可能出现无穷循环 B三种循环语句中都可以缺省循环终止条件表达式 C三种循环语句的循环体都至少被无条件地执行一次 D三种循环语句的循环体都必须放入一对花括号中在C语言中while和do-while循环的主要区别是(C)。 Awhile的循环控制条件比do-while的循环控制条件严格 Bdo-while允许从外部转到循环体内 Cdo-while的循环体至少无条件执行一次 Ddo-while的循环体不能是复合语句若已定义一个有返回值的函数,则下面关于调用该函数的叙述中错误的是(A)。 A函数调用可以作为一个函数形参 B函数调用可以出现在表达式中 C函数调用可以作为一个函数实参 D函数调用可以作为独立的语句存在设有下列程序段:static int y=2;void f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是(D)。 Ax是全局变量,函数f1可以访问,函数f2不能访问 By是全局变量,函数f1和函数f2都可以访问 Cz是动态变量,函数f1可访问,函数f2不可访问 Dd是静态变量,函数f1和函数f2都可以访问若有代数式,则不正确的C语言表达式是(C)。 Ax/b/c*y*6B6*x*y/b/c C6*x*y/b*cDx*y/c/b*6已有定义“int i;float f;”,则下面正确的表达式是(D)。 A(int f)%iBint(f)%i Cint(f%i)D(int)f%i已有定义“int a23”,下面选项中(A)正确地引用了数组a中的基本元素。 Aa12!1Ba20 Ca1Da已有定义“int m=3, c, *a=&m, *b=&c;”,则下列语句中错误的是(C)。 Aa=b=0;Ba=&c, b=a;C&a=&b;D*b=*a定义一个结构体变量时,系统分配给它的内存是(A)。 A各成员所需内存总和 B成员中所占内存最多的容量 C结构中第一个成员所占内存的容量 D结构中最后一个成员所占内存的容量已有枚举类型定义“enum letterE, F, G=7, H, I;”,下面表达式中除(D)外,其他表达式的机内值均等于10。 Axb-1BF+IC010+2D0xf-3下面关于宏的叙述正确的是(A)。 A宏定义没有数据类型限制 B宏名必须用大写字母表示 C宏定义必须位于源程序中所有语句之前 D宏调用比函数调用耗费时间设有声明语句“int b33=1,2,3,4,5,6,7,8,9;”,下面语句中不能输出数组元素b12的值6的是(C)。 Aprintf(%d ,*(*(b+1)+2)Bprintf(%d ,*(&b20-1); Cprintf(%d ,*(b+1)2);Dprintf(%d ,*(b1+2);如果要用fopen()函数打开一个新的二进制文件,该文件要既能读也能写,则文件打开方式应为(A)。 Awb+Bab+ Crb+Dab下面选项中,不能用作C语言标识符的是(C)。 Aprint BINTC&aD_02下面合法的标识符是(A)。 AFOR B-523Cn bDif下面叙述中正确的是(B)。 AC程序的基本组成单位是语句 B简单C语句必须以分号结束 CC程序中的每一行只能写一条语句DC程序必须在一行内写完用C语言编写的源程序中,(A)是必不可少的。 A名为main的函数定义B#include C变量定义D注释部分C源程序中的命令#include与#define是在(A)阶段被处理的。 A预处理B编译C连接D执行已有定义“int a=3, b=4, c=5;”,则下列表达式中值为0的是(D)。 Aa&bBa0,下面选项中正确的表达式是(C)。 Aa!=0, b*b-4*a*c0Ba!=0|b*b-4*a*c0 Ca&b*b-4*a*c0D!a&b*b-4*a*c0下面关于语句的说法中正确的是(B)。 Awhile语句的循环体至少会被执行1次 Bdo-while语句的循环体至少会被执行1次 Cfor语句的循环体至少会被执行1次 D在C语言中只能用do、do-while或for语句实现循环结构下面叙述中正确的是(C)。 Abreak语句只能用于switch语句体中 Bcontinue语句的作用是:使程序的执行流程跳出包含它的所有循环 Cbreak语句只能用在循环体内和switch语句体内 D在循环体内使用break语句和continue语句的作用相同对于C语言函数,下列叙述中正确的是(A)。 A函数的定义不能嵌套,但函数调用可以嵌套 B函数的定义可以嵌套,但函数调用不能嵌套 C函数的定义和调用都不能嵌套 D函数的定义和调用都可以嵌套设有下列程序段:static int y=2;void f2( ) static float d=3; int x=1;void f1( ) int z=3; 关于程序段中各变量的属性,下面叙述中错误的是(D)。 Ax是全局变量,函数f1可以访问,函数f2不能访问 By是全局变量,函数f1和函数f2都可以访问 Cz是动态变量,函数f1可访问,函数f2不可访问 Dd是静态变量,函数f1和函数f2都可以访问表达式“A +4*25.0-b”的正确结果是(B)。 A67B67.0C不确定D67L存储字符串abc376需要的字节数是(D)。 A11 B13C6 D7若有数组a和b的声明“static char a= abcdef,b= a, b, c, d, e, f;”则数组a和数组b的长度分别是(A)。 A7,6B6,7C6,6D7,7己有声明“int a10=0, 1, 2, 3, 4, 5, 6, 7, 8, 9,*p=a;”,则不能表示数组a中元素的是(D)。 A*pBa6C*aDpaC语言中,下列属于构造类型的是(D)。 A整型 B实型C指针类型D结构体类型若有枚举类型定义“enum variA1, A2, A3, A4=6, A5, A6;”,则枚举常量A2和A6代表的值分别是(B)。 A1,6B1,8C2,6D2,8下面叙述错误的是(C)。A宏替换不占用程序运行时间B宏名无类型C宏名必须用大写字母表示D宏替换只是字符替换已有定义“int a23=1, 2, 3, 4, 5, 6;”,则下列表达式中不能正确引用值为5的数组元素的是(C)。A*(a0+4)B*(a1+1) C*(*(a+3)+1)D*(*a+4)若只允许对数据文件abc.txt做一次打开文件操作,修改其中的数据,则打开文件语句应为“fp=fopen(abc.txt,(B);”。 Aw+Br+Ca+Dr以下叙述中正确的是 A)程序设计的任务就是编写程序代码并上机调试 B)程序设计的任务就是确定所用数据结构 C)程序设计的任务就是确定所用算法 D)以上三种说法都不完整以下选项中,能用作用户标识符的是A)voidB)8_8C)_0_D)unsigned阅读以下程序 #include main() int case; float printF; printf(“请输入2个数:”); scanf(“%d %f”,&case,&pjrintF); printf(“%d %fn”,case,printF); 该程序编译时产生错误,其出错原因是 A)定义语句出错,case是关键字,不能用作用户自定义标识符 B)定义语句出错,printF不能用作用户自定义标识符 C)定义语句无错,scanf不能作为输入函数使用 D)定义语句无错,printf不能输出case的值表达式:(int)(double)9/2)-(9)%2的值是 A)0 B)3 C)4 D)5 若有定义语句:int x=10;,则表达式x-=x+x的值为 A)-20 B)-10 C)0 D)10有以下程序 #include main() int a=1,b=0; printf(“%d,”,b=a+b); printf(“%dn”,a=2*b); 程序运行后的输出结果是 A)0,0 B)1,0 C)3,2 D)1,2设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是 A)if(ab) c=a,a=b,b=c; B)if(ab) c=a,a=b,b=c; C)if(ab) c=a;a=b;b=c; D)if(ab) c=a;a=b;b=c;有以下程序 #include main() int c=0,k; for (k=1;kb?(bc?1:0):0;功能相同的是 A)if(ab)&(bc) k=1;else k=0; B)if(ab)|(bc) k=1;else k=0; C)if(a=b) k=0;else if(bb) k=1;else if(bc) k=1; else k=0;20)有以下程序 #include main() char s=“012xy”;int i,n=0; for(i=0;si!=0;i+)if(si=a&si2); printf(“%d %dn”,k,n); 程序运行后的输出结果是 A)0 2 B)1 3 C)5 7 D)1 2有以下定义语句,编译时会出现编译错误的是 A)char a=a; B)char a=n; C)char a=aa; D)char a=x2d;有以下程序#include main() char c1,c2; c1=A+8-4; c2=A+8-5; printf(“%c,%dn”,c1,c2);已知字母A的ASCII码为65,程序运行后的输出结果是 A)E,68 B)D,69 C)E,D D)输出无定值有以下程序 #include void fun(int p) int d=2; p=d+; printf(“%d”,p); main() int a=1; fun(a); printf(“%dn”,a); 程序运行后的输出结果是 A)32 B)12 C)21 D)22以下函数findmax拟实现在数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能#define MIN -2147483647 int findmax (int x,int n) int i,max; for(i=0;iN;I+) max=MIN; if(max return max; 造成错误的原因是 A)定义语句int i,max;中max未赋初值 B)赋值语句max=MIN;中,不应给max赋MIN值 C)语句if(max D)赋值语句max=MIN;放错了位置 有以下程序 #include main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf(“%d,%d,%d,%dn”,m,n,*p,*q); 程序运行后的输出结果是 A)1,2,1,2 B)1,2,2,1 C)2,1,2,1 D)2,1,1,2若有定义语句:int a410,*p,*q4;且0i4,则错误的赋值是 A)p=a B)qi=ai C)p=ai D)p=&a21有以下程序 #include #include main() char str 20=“One*World”, “One*Dream!”,*p=str1; printf(“%d,”,strlen(p);printf(“%sn”,p); 程序运行后的输出结果是 A)9,One*World B)9,One*Dream C)10,One*Dream D)10,One*World有以下程序 #include main() int a =2,3,5,4,i; for(i=0;i4;i+) switch(i%2) case 0:switch(ai%2) case 0:ai+;break; case 1:ai-; break; case 1:ai=0;for(i=0;i=y 。C语言有效的预处理命令总是以 开头。常量n的数据类型是 。已有定义“int b10, *p=b, *q; q=&b5;”,则表达式q-p的值是 。在文件中,以符号常量EOF作为文本文件(字符流文件)的结束标记,EOF代表的值是 。若要声明一个类型名STR,使得定义语句STR s等价于char *s,则声明语句是 。结构化程序设计语言编写的程序由三种结构组成:顺序结构、 和循环结构。C语言中除复合语句外的其它所有语句都以 结束。已有定义“double a=10, b=5;”,则计算ab的库函数调用形式是 。C语言有效的预处理命令总是以 开头。已有定义“char a=1; int b=2; float c=3; double d=4;”,则表达式“c=a+b+c+d”值的类型为 。用typedef定义一个长度为10的整型数组NUM的语句是 。执行下面程序段中的语句“k = A*A+1;”后k的值是 。#define B 2#define A B+1k = A*A+2;已有定义“int a4=1, 2, 3, 4, 5, 6, 7, 8, 9;”,则数组a第一维的大小是 。 程序中已使用预处理命令“#include”,为使语句“fp=fopen(asc.txt,r);”能正常执行,在该语句之前必须有定义FILE ;。执行“printf(%d,%d, a, b, c, d); ”后在屏幕上将输出 个整数。C语言中除复合语句外的其它所有语句都以(分号)结束。数学式所对应的C语言表达式为pow(m, (1/3.0))。判断字符变量c是英文字母的表达式是(c=a&c=A&c=Z)。一个C程序在运行时,如果没有发生任何异常情况,则只有在执行了(main)函数的最后一条语句或该函数中的return语句后,程序才会终止运行。已有定义“int r=3;”,则执行语句“printf(%d, sizeof(2*3.14159*r);”时输出(8)。若二维数组a有n列,则在存储该数组时,aij之前有(i*n+j)个数组元素。已有定义“char ch110= abcdef, ch210= a0;”,则执行语句 “printf(%d, strlen(strcpy(ch1, ch2);”的输出结果是(3)。结构类型的每个成员的数据类型可以是基本数据类型,也可以是(构造)类型。若已有定义“enum ABCA, B, C;”,则执行语句“printf(%dn, A+2);”后输出结果是(2)。已知数据文件abc.dat是通过执行下列程序建立的,若在另一个程序运行时需要从该数据文件中正确读取数据,则正确的读文件库函数的函数名是(fread)。#includeint main() FILE *fp = fopen(abc.dat,wb);float x = 25.0;fwrite(&x, sizeof(float), 1, fp);fclose(fp);return 0;C语言没有提供用于数据输入及输出的语句,所有的输入与输出都是通过系统提供的()来实现的。已有定义“float x=3.14159; int n;”,则计算表达式“n = x*100+0.5, x= n/100.0”后x的值是()。已有定义“char ch; int b;” 执行语句“scanf(%c%d, &ch, &b);”时如果从键盘输入的数据是“110”,则变量b得到的值是()。若一个函数不需要形参,则在定义该函数时,应使形式参数表为空或放置一个()。若在某个C编译系统中,如果一个变量能正确存储的数据范围为整数-3276832767,则该变量在内存中占()字节。系统库函数scanf和gets在被调用执行时都可以读取从键盘输入的一串数字字符,其中函数( )具有将读取的数字字符串转换为整型数的功能。已有定义“int a32=6, 5, 4, 3, 2, 1, *p=a1;” 则执行语句“printf(%dn, *(p+2);”后的输出结果是()。若程序中已经声明了一个结构类型以及结构变量,则访问该结构变量成员的形式是()。若已有定义“enum ABCA, B, C;”,则执行语句“printf(%dn, A+1);”后输出结果是()。下列程序段的输出是()。char *a2=one, two, *p=a;printf(%s, *(p+)+1);printf(%cn, *p-1);结构化程序设计语言编写的程序由三种结构组成:顺序结构、分支结构和(循环结构)。已有定义“double n;”,则数学公式“”对应的C语言表达式是(3.0/4*n*(4*power(n,2)-1))。已有定义“int m=2,n=3;”,则执行表达式“(mn)&(-m0)”后m的值为(2)。变量的值在函数调用结束后仍然保留,以便下一次调用该函数时使用,可以将局部变量定义为(static)类型。数学式所对应的C语言表达式为(sqrt(a*a+b*b)/(a+b))。若有表达式为 (x) op (y),其中op代表运算符,x、y代表操作数。若op是“+”运算符,且x和y均为常量时,不能同时为(字符串)常量。已有定义“char *s=%d,%dn; int a=2, b=3;”,则语句“printf(s, a, b);”的输出结果是(2,3)。使用sizeof()函数计算结构struct List的长度的表达式是(sizeof(struct List))。若已有定义“enum ABCA, B, C;”,则执行语句“printf(%dn, B+1);”后输出结果是(2)。下列程序段的输出是(7,-13)。#define F(x) x - 2#define D(x) x*F(x)printf(%d,%d, D(3), D(D(3) ;题目:本程序的功能是:以每行5个的格式输出22000之间满足下列条件的数:(1)该数是素数;(2)从个位开始依次去掉一位数字后的数仍然是素数。例如,233是素数,23和2仍然是素数,则233满足条件。改正程序中的错误。注意:不能增加、删除语句,但可以调换语句的位置。【含有错误的程序代码】(1)#include(2)int prime(int n) /*判断n是否为素数的函

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论