C程序复习题
面向对象程序设计 C 复习题
一选择题(共 45题)1.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载√B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载2.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。
A)规律性 B.传递性√ C.重复性 D.多样性3.假设OneClass为一个类,则该类的复制初始化构造函数的声明语句为()。
(OneClass p); B. OneClass& (OneClass p );C. OneClass(OneClass & p);√D. OneClass (OneClass * p);4.对于结构中定义的成员,其默认的访问权限为()。
B. protected D. static5.下面对静态数据成员的描述中,不正确的是()。
A.静态数据成员可以在类体内进行初始化√B.静态数据成员不可以在类体内进行初始化C.静态数据成员能受private控制符的作用D.静态数据成员调用前必须初始6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。
A.复用B.继承√C.封装D.引用7. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a 的格式为()。
A. x(a)B. x[a]C. x->aD. √9. 对于一个类的构造函数,其函数名与类名( )。
A. 完全相同√B. 基本相同C. 不相同D. 无关系10. 一个类的构造函数通常被定义为该类的( )成员。
A. 公有√B. 保护C. 私有D. 友元11. 一个类的析构函数通常被定义为该类的( )成员。
A. 私有B. 保护C. 公有√D. 友元12. 一个类的静态数据成员所表示属性 ( )。
A. 是类的或对象的属性B. 只是对象的属性C. 只是类的属性√D. 类和友元的属性13.类的析构函数的作用是()。
C程序设计(链表)习题与答案
一、单选题1、链表不具有的特点是()。
A.不必事先估计存储空间B.插入、删除不需要移动元素C.可随机访问任一元素D.所需空间与线性表长度成正比正确答案:C2、链接存储的存储结构所占存储空间()。
A.分两部分,一部分存放结点值,另一部分存放结点所占单元数B.只有一部分,存放结点值C.分两部分,一部分存放结点值,另一部分存放表示结点间关系的指针D.只有一部分,存储表示结点间关系的指针正确答案:C3、链表是一种采用()存储结构存储的线性表。
A.网状B.星式C.链式D.顺序正确答案:C4、有以下结构体说明和变量的定义,且指针p指向变量a,指针q指向变量b,则不能把结点b连接到结点a之后的语句是()。
struct node {char data;struct node *next;} a,b,*p=&a,*q=&b;A.(*p).next=q;B.p.next=&b;C.a.next=q;D.p->next=&b;正确答案:B5、下面程序执行后的输出结果是()。
#include <stdio.h>#include <stdlib.h>struct NODE {int num; struct NODE *next;};int main(){ struct NODE *p,*q,*r;p=(struct NODE*)malloc(sizeof(struct NODE));q=(struct NODE*)malloc(sizeof(struct NODE));r=(struct NODE*)malloc(sizeof(struct NODE));p->num=10; q->num=20; r->num=30;p->next=q;q->next=r;printf("%d",p->num+q->next->num);return 0;}A.30B.40C.10D.20正确答案:B6、下面程序执行后的输出结果是()。
C语言复习60题
01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。
02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。
04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。
B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。
D、__int。
09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。
C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。
12写出下式的运算结果:10/3*3、0正确答案是:9、0。
程序设计基础期末考试复习题及参考答案-专科
《程序设计基础》复习题一、单项选择题1.以下叙述中正确的是( )A. C程序中注释部分可以出现在程序中任意合适的地方B. 花括号"{"和"}"只能作为函数体的定界符C. 构成C程序的基本单位是函数,所有函数名都可以由用户命名D. 分号是C语句之间的分隔符,不是语句的一部分2.在一个C语言程序中( )A. main函数必须出现在所有函数之前B. main函数可以在任何地方出现C. main函数必须出现在所有函数之后D. main函数必须出现在固定位置3.判断下面标识符中哪个是C语言中合法的用户定义标识符( )A. a-bB. #abdC. typedefD. _max4.为表示关系X≥Y≥Z,应使用C语言表达式( )A. (X≥Y)&&(Y≥Z)B. X>=Y>=ZC. (X>=Y)‖(Y>=Z)D. (X>=Y)&&(Y>=Z)5.以下选项中,不能作为合法常量的是A. 1.234e04B. 1.234e0.4C. 1.234e+4D. 1.234e0 6.若有两条语句:static char x[]=”abcde”;static char y[]={‘a’,’b’,’c’,’d’,’e’};则下列说法中正确的是( )A. x数组和y数组长度相同B. x数组长度大于y数组长度C. x数组长度小于y数组长度D. 以上三种说法均错误。
7.返回值为void的函数,其含义是( )A.调用函数之后,被调用的函数没有返回值;B.调用函数之后,被调用的函数不返回C.调用函数之后,被调用的函数返回值为任意类型D.以上三种说法均不正确。
8.对于语句,int x,y,z[10],*px,*py; 指出下列哪个语句是不正确的( )A. px=&x,py=pxB. px=xC. py=&yD. px=z9.在printf语句中按字符串输出的格式是( )A. “%s”B. “%c”C. “%f”D. “%d”10.C语言中,运算对象必须是整型的运算符是( )A. %B. /C. %和/D. >=11.以下说法正确的是( )A. C语言程序总是从第一个定义函数开始执行;B. 在C语言程序中,要使用的函数必须在main()函数中定义;C .C语言程序总是从main()函数开始执行;D. C语言程序的main()函数必须在程序的开始部分。
C语言14道复习题
1.某服装店经营套服,也单件出售。
若买的不少于50套,每套80元;不足50套的每套90元;只买上衣每件60元;买裤子每条45元。
请编程若买上衣c和裤子t的件数,计算应付款m。
#include <stdio.h>void main (){int c,t,p,m;scanf("%d,%d",&c,&t); /*在scanf之前写个printf使程序更易懂,但这没有写*/ if(c>=t){p=t>=50? 80:90; /*这句看不懂的话就看书的109面*/m=p*t+(c-t)*60;}if(c<t){p=c>=50? 80:90;m=p*c+(t-c)*45;}printf("%d\n",m);}2.若有100个同学的C语言课程考试成绩,计算这门课程的平均成绩和90-100分、80-89分、70-79分、70分以下各个等级的人数。
#include <stdio.h>void main (){int i,a,b,c,d;float average,score,sum=0;a=b=c=d=0;for(i=1;i<=100;i++){scanf("%f",&score);sum=sum+score;if(score>=90&&score<=100) a++;if(score>=80&&score<=89) b++;if(score>=70&&score<=79) c++;if(score<70) d++;}average=sum/100;printf("%.3f,%d,%d,%d,%d\n",average,a,b,c,d);}3.统计100-1000间能被3整除,不能被7整除的数的个数。
C语言理论复习题
序号
题目
正 确 A B 答 案
51 52 53 54 55 56 57 58 59 60 61
使用strlen函数可以求出一个字符串的实际长度 对错 B (包含‘\0’字符)。 如有定义char a[]="student";则数组a的长度为7 对错 B 如有定义char a[20];则可以通过a=“I am a 对错 B boy”;给a赋值。 如有定义int a[2][3];则数组a的最后一个元素为 对错 A a[1][2]。 如有定义int a[3][4]={0}; 则数组a的所有元 对错 A 素初值均为0 C语言中数组名实质上是数组的首地址,是一个变 对错 B 量地址,可对其进行赋值 对错 B 构成数组的各个元素可以有不同的数据类型。 若有说明:int a[10];,则可以用a[10]引用数组a 对错 B 的第10个元素。 函数的形参为一个数组,则调用此函数时将数组名 对错 A 作为对应的实参。 do...while的循环体可能一次也不会执行。 对错 B
char *p[10];定义了一个指向字符数组的指针 对错 B 变量。 数组名实际上是此数组的首地址,所以数组名相当 62 对错 B 于一个指针变量。 do...while语句与while语句的区别仅仅是关键字 63 对错 B while的位置不同。 64 使用文件前必须先打开文件 对错 A
判断题 第 4 页
判断题
第 8 页
判断题
第 9 页
判断题
第 10 页
判断题
第 11 页
判断题
第 12 页
判断题
第 13 页
判断题
第 14 页
判断题
第 15 页
判断题
第 16 页
C语言填空题,复习题及答案
1.24L表示一个____类型的整数(从int、short、long选填)(1分)标准答案:long2.表达式(8+3)/(6+23)+27%4的值为____。
(1分)标准答案:33.若int a;char c;则a*c的数据类型为____(用英文填,如float 或int或double或char)。
(1分)标准答案:int4.已知:int num1=2,num2=3,num3;num3=7%num2*num1;则执行后num3的值是____。
(1分)标准答案:25.已知道无符号基本整型取数范围0--4294967295,现有程序段unsigned int a,b;a=65535;b=a+1;则程序运行后b的值为____。
(1分)标准答案:655366.设int a=2,则计算表达式a/=2的值为____。
(1分)标准答案:17.已知程序段:int a;a=97;printf("%c",a);则执行后输出的结果为____(注:已知字母a的ASCII 值为97)。
(1分)标准答案:a8.设unsigned number=1234;char c1;c1=number%10;则执行上述程序段后c1的值为____。
(1分)标准答案:49.0x568是用几进制表示的整数____(从十进制、八进制、十六进制选填)。
(1分)标准答案:十六进制10.C语言中,要获取变量的地址,应在变量名前加上____(不填中文)运算符。
(1分)标准答案:&11.循环语句for ( i=100 ; i ; i-=20 ) ; 的循环次数为次____(填阿拉伯数字)。
(1分)标准答案:512。
若指定将实数56.64按照指数形式输出,输出的结果为____(用大写的E,指数部分保留两位)。
(1分)标准答案:5.66E113.设int a=12,则计算表达式a*=(2+3)的值为____ 。
(1分)标准答案:6014.C语言中,字符指针是指向____(填英文关键字)型数据的指针变量。
《C程序设计》期末复习练习题及参考答案(3)
《C程序设计》期末复习练习题及参考答案(3)《C程序设计》期末复习练习题及参考答案(3)一、单项选择题1.若有定义int (*p)[4],则标识符p是一个。
A)指向整型变量的指针变量B)指向函数的指针变量√C)指向有四个整型元素的一维数组的指针变量D)指针数组名,有四个元素,每个元素均为一个指向整型变量的指针2.下列对字符串的定义中,错误的是:。
√A) char str[7] = "FORTRAN";B) char str[] = "FORTRAN";C) char *str = "FORTRAN";D) char str[] = {'F','O','R','T','R','A','N',0};3.针对下面程序段,下面哪些说法是正确的?#include <stdio.h>void Swap(int *x, int *y);main()1{ int a, b;a = 5;b = 9;Swap(&a, &b);printf("a=%d,b=%d",a,b);}void Swap(int *x, int *y){ int *pTemp;*pTemp = *x;*x = *y;*y = *pTemp;}A) 程序运行结果为乱码;B) 程序运行后将导致程序崩溃;C) 程序编译时出错导致程序无法运行;√ D) 程序执行了危险的操作;4.已知学生记录描述为:struct student{ int no;char name[20];char sex;struct{ int year;char month[15];2int day;}birth;};struct student s;设变量s中的生日是1984年11月11日,下列对生日的正确赋值方式是_____A) s.birth.year = 1984; s.birth.month = "11"; s.birth.day = 11;B) s.birth.year = 1984; s.birth.month = 11; s.birth.day = 11;√ C) s.birth.year = 1984; strcpy(s.birth.month, "11"); s.birth.day = 11;D) s.birth.year = 1984; strcpy(s.birth.month, 11); s.birth.day = 11;5. 要使下面程序的输出1, 2, 34,则从键盘输入的数据格式应为。
重庆理工大学c语言上机考试复习题 (1)
1、根据公式e=1+1/(1!)+1/(2!)+1/(3!)+……。
求e 的近似值,精度要求为10-6。
2、读入10个数,计算它们的和、积、平方和及和的平方。
3、计算并输出1!,2!,3!,4!,……,35!。
4、输入20个数,统计其中正、负和零的个数。
5、利用公式:)12)(12()2(......756653443*12222+-⨯⨯⨯⨯⨯⨯⨯⨯⨯=n n n π计算π的值(取前100项)。
6、利用公式:)12(1)1(......9171513114+⨯-++-+-=n n π计算π的值(省略的项都<10-5)。
7、编程计算0*1+2*3+4*5+……+100*101+101*102之和。
8、编程计算5/6+6/7+7/8+……+99/100+5!+6!+7!之和。
9、编程计算1!-2!+3!-4!+5!-6!之和。
10、编程计算1/(1+2)+2/(2+3)+3/(3+4)+……100/(100+101)之和。
11、编程计算(0+1)/1+(2+3)/3+(3+4)/4+……(99+100)/100之和。
12、求100 ~ 200中能被3或7整除的自然数。
13、统计77到210中偶数的个数。
14、统计7到91中能被3整除的奇数的个数。
15、7到91中有多少能既能被2又能被3整除的数。
16、显示7到100中所有不能被5整除的数,要求每行显示5个数。
17、找出1000之内的所有完数(完数是指:该数的各因子之和正好等于该数本身,例如:6的因子是1,2,3,而6 = 1+2+3,故6是完数)。
18、求2~1000中的所有亲密数对(亲密数对是指:如果a 的因子和等于b ,b 的因子和等于a ,则(a ,b )就是亲密数对)。
19、100元钱买100只鸡,已知公鸡3元1只,母鸡1元1只,小鸡1元3只,编程输出总的方案数以及每种方案中公鸡、母鸡、小鸡的数量。
20、100匹马驮100担货,大马驮3担,中马驮2担,小马驮0.5担,编程求大、中、小马的数量。
C语言试题 湘潭大学
C语言典型试题2013级测控技术与仪器一班复习资料选择题1、有以下定义:int a;long b;double x、y;,则以下选项中正确的表达式是()A )a%(int)(x/y) B)a=x!=y C)(a*y)%b D)y=x+y=x答案)B A中若x、y相等,分母为0,出现除0错误;C中double 类型不能进行取余操作;D 中赋值号“=”右侧不能是表达式2、以下选项中能表示合法常量的是()A)整数:1,200 B)实数:1.5E2.0 C)字符:‘\’D)字符串:“\007”答案)D 选项A 1200中间不能有逗号,否则编译出错;选项B 2.0错误,必须为整数;选项C 要表示字符斜杠常量’\’应该在反斜杠前面再加上一个反斜杠3、以下C语言用户标识符中,不合法的是()A)_1 B)AaBc C)a_b D)a--b答案) D4表达式a+=a-=a=9值是()A)9 B)-9 C)18 D0答案)D 第一步a=9,然后计算a-a的值,并将此值赋给a,此时a=0,a+a的值赋给a.最终结果为05、#include<stdio.h>main{ int k=011;printf(“%d\n”,k++)}程序运行后输出结果()A)12 B)11 C)10 D)9答案)D 011为八进制数,对应的十进制为9,k++;先使用k再对其加1,++k;先对k进行加1赋值给k,再使用k6、以下选项中合法的标识符是()A 1_1B 1--1C _11D 1__答案)C7、若有定义语句:int x=10 ;,则表达式x-=x+x的值为()A -20B -10C 0D 10答案)B 表达式为x-(x+x)=10-20=-108、C语言规定,在一个C程序中,main()函数的位置()A 必须在系统调用的库函数之后B 必须在程序的开头C 必须在程序的最后D 可以在任意位置答案)D9、#include<stdio.h>main(){ int a=1,b=0;if(!a) b++;else if (a==0) if (a) b+=2;else b+=3;pringtf (“%d\n,b”);}程序运行后的输出结果是()A 0B 1C 2D 3答案) A 考查if else 语句,开始a=1,b=0;此时if(!a)不成立,转执行else if (a==0)由于a=1,之后的语句都不执行。
C语言章节习题及答案
《C程序设计》复习题集第2章基础概念一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)2.1以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C2.2 以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前定义正确答案: A2.3 以下说法正确的是A)C语言程序总是从第一个函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C2.4 C语言规定,在一个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案: C2.5 以下叙述不正确的是A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案: D2.6 下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案: D2.7 以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案: D2.8 下列关于C语言的说法不正确的是A)C语言既具有高级语言的一切功能,也具有低级语言的一些功能B)C语言中的每一条执行语句都必须用分号结束,但分号不是C语言的一部分,是语句之间的分隔符号C)注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案: B2.9 以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由0和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每一种高级语言都有它对应的编译程序正确答案: C2.10 C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-while D)if,for,continue正确答案: A第3章数据类型运算符与表达式一、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的)3.1 C语言提供的基本数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B3.2 C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案: C3.3 下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof正确答案: B3.4 下面四个选项中,均是不正确的8进制数或16进制数的选项是A)016 0x8f 018 B)0abc 017 0xaC)010 -0x11 0x16 D)0a12 7ff -123正确答案: D3.5 下列数据中,不合法的C语言实型数据的是A)0.123 B)123e3 C)2.1e3.5 D)789.0正确答案: C3.7 若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A3.8 有字符串如下,"\n\\\407as1\"\xabc",则字符串的长度为A)6 B)7 C)8 D)9正确答案: D3.9 C语言中运算对象必须是整型的运算符是A)%= B)/ C)= D)<=正确答案: A3.10 若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1 B)a=b=c+2 C)int 18.5%3 D)a=a+7=c+b正确答案: B3.11 若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1 B)++i; C)a=a++=5; D)a=int(i);正确答案: B3.12 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是A)2.500000 B)2.750000 C)3.500000 D)0.000000正确答案: A3.13 若有运算符<<,sizeof,^,&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,<<,^ B)sizeof,<<,^,&= C)^,<<,sizeof,&= D)<<,^,&=,sizeof正确答案: B3.14 以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案: D3.15 已知int i,a;执行语句i=(a=3,a++,- -a,a+4,a+5,++a);后,变量i的值为A)2 B)3 C)4 D)5正确答案: C3.16 设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为A)int B)float C)double D)不确定正确答案: C3.17 在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码D)ASCII码正确答案: D3.18 字符型数据在机器中是用ASCII码表示的,字符’5’和’7’在机器中表示为A)10100011和 01110111 B)01000101和01100011C)00110101和00110111 D)01100101和01100111正确答案: C3.19 不能进行++和- -运算的数据类型为A)指针B)整型C)长整型D)常量正确答案: D3.20 设有int x=11;则表达式(x++*1/3)的值是A)3 B)4 C)11 D)123.21 以下程序的输出结果是main(){ int a=21,b=11;printf("%d\n",- -a+b,- -b+a);}A)30 B)31 C)32 D)33正确答案: A3.22 假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为A)17 B)16 C)15 D)14正确答案: C3.23 已知int a=6; 则执行a+=a-=a*a;语句后,a的值为A)36 B)0 C)-24 D)-60正确答案: D3.24 设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0正确答案: B3.25 sizeof(float)是A)一个双精度型表达式B)一个整型表达式C)一种函数调用D)一个不合法的表达式正确答案: B3.26下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B)′\0′作为标志占用存储空间,计入串的实际长度C)在表示字符串常量的时候不需要人为在其末尾加入′\0′D)在C语言中,字符串常量隐含处理成以′\0′结尾正确答案: B3.27 以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x÷y÷z 的C语言表达式是A)x/y*z B)x*(1/(y*z)) C)x/y*1/z D)x/y/z正确答案: A3.28 下列关于语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句C)复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案: C二、填空题3.30 以下程序的输出结果是【1】。
《C语言程序设计》复习题库(1)
复习题库
当n=5时
93.有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它
插入到数组中。
94.将一个数组中的值按逆序重新存放。
例如,原来顺序为8,6,5,4,1。
要求
改为1,4,5,6,8
95.编程先输入某班10个学生某门课的成绩(成绩均为float型数据),
对全班10个学生成绩进行由高到低排序,并打印输出排序结果。
96.从键盘任意输入某班10个学生的成绩,输出最高分并统计出不及格
人数。
97.写一个判断素数的函数,在主函数输入一个整数,输出是否为素数的
信息
98.编写函数实现两个整型变量值的交换。
99.用递归调用的方法求n!,要求n由用户输入。
100.从键盘任意输入10个整数并放入一个数组,用函数编程实现将其中最大数与最小数的位置对换后,再输出调整后的数组。
101.写一个函数,使给定的一个3X3的二维整形数组转置,即行列互换102.写一个函数,将两个字符串连接
103.写一个函数,使输入的一个字符串按反序存放。
104.输入两个实数,用一个函数求出它们之和。
105.有一个一维数组score,内放10个学生成绩,写一个函数求平均成绩。
106.输出所得水仙花数,所谓水仙花数是指一个数3位数,其各各位数字立方和等于其本身, 例如: 153 = 1*1*1 + 3*3*3 + 5*5*5。
C#程序设计语言复习题(试题及答案版)
一.填空题26.C#源程序的后缀名为______.cs________。
26.C#中每个int 类型的变量占用____4___个字节的内存。
26.C#的每行语句以________分号_______结尾。
26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。
26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。
26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。
26.关键字_______class________表示一个类的定义。
26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。
26.try块运行后,总是会执行_________finally_____________块中的代码。
26.一个数组如果有两个索引值,那么它是__________二维__________数组。
二.单项选择题1.在对SQL Server 数据库操作时应选用()。
A、SQL Server .NET Framework 数据提供程序;B、OLE DB .NET Framework 数据提供程序;C、ODBC .NET Framework 数据提供程序;D、Oracle .NET Framework数据提供程序;2.下列选项中,()是引用类型。
A、enum类型B、struct类型C、string类型D、int类型3.C#的数据类型有()A、值和调用类型;B、值和引用类型;C、引用和关系类型;D、关系和调用类型4.下列描述错误的是()A、类不可以多重继承而接口可以;B、抽象类自身可以定义成员而接口不可以;C、抽象类和接口都不能被实例化;D、一个类可以有多个基类和多个基接口;5.下列关于构造函数的描述正确的是()A、构造函数可以声明返回类型。
C程复习资料
补充习题解答1:1.C 语言程序中可以对程序进行注释,注释部分必须用符号_____括起来。
A、‘{‘和’}’B、‘[‘和’]’C、“/*”和”*/”D、“*/”和”/*”答案:C,这题大家基本都没问题。
2.下列运算符中,优先级最低的是_____。
A、*B、!=C、+D、=答案:D。
本题考察的是运算符的优先级问题,顺序为:初等运算符>单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符>逗号运算符.请大家记住这个顺序。
另外,大家在写程序的时候并不能够准确地确定优先级的时候,多加几对括号就可以了,因为在这种情况下读你程序的人可能也不确定优先级。
3.下列运算符中,优先级最低的是:_____A、*B、+C、==D、=答案:D,理由同上。
4.已知字符‘a’的ASCII码为97 ,执行下列语句的输出是_____。
printf ("%d, %c", ’b’, ’b’+1 ) ;A、98, bB、语句不合法C、98, 99D、98, c答案:D。
每一个字符都对应一个整型数值的ASCII码,故可以将字符以int型输出,反过来,也可以将符合ASCII码的int型数值进行字符。
关键在于输出格式控制。
5.有程序段如下:Int k=10;While(k=0)K=k-1;以下选项中描述正确的是_____。
A. 语句“k=k-1;”被执行10次。
B. 语句“k=k-1;”被执行1次。
C. 语句“k=k-1;”被执行无限多次。
D. 语句“k=k-1;”一次也不执行。
答案:D。
while循环体执行的条件为:while判断条件为真(非0为真0为假,特别注意,负数也为真)。
而本题的判断条件为k=0这个表达式的值,为0,故原题等价于while(0)。
所以在写程序的时候要特别避免类似的逻辑错误。
这两题很多同学有错。
6.写出判断一个年份为闰年的C语言表达式:______________________。
江西理工大学c语言复习参考题
《C语言程序设计》复习参考资料一.选择题1.以下关于运算符优先顺序的描述中正确的是()。
A) 关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B) 逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C) 赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D) 算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是_________A) #define B) int C) a594_3 D) abs(x)3.以下正确的描述是()。
A) break语句的作用是结束整个循环的执行B)在C程序中,注释说明只能位于一条语句的后面C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是()A).#define 和printf 都是C 语句。
B).#define 是C语句,而printf不是。
C).若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D). #define 和printf 都不是C 语句。
5.下面的函数定义正确的是______________A)float fun (float x ; float y) {return x*y;}B)float fun (float x,y) {return x*y;}C)float fun (x,y) {int x,y;return x*y;}D)int fun (int x, int y) {return x*y;}6.执行下面语句后的输出为( )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是()A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。
C语言考试复习专用三套题附答案(1)
《C语言程序设计》习题集习题一一、语言基础(共20分,每题2分)(二)说明语句char s=‘\t’,使s包含了几个字符?。
A)1 B)2 C)3 D)说明有错(三)设a=6,b=4,则表达式b*=a+3A)3 B)18 C)(四)若给定表达式(m)?a++:a--和等价。
A)m==0 B)m!=0 C)m=0 D)m=1(五)设有说明语句int a[10],则数组a包括了个数组元素。
A)1 B)9 C)10 D)20(六)以下函数test返回值类型为。
test(int x){ printf(“%f\n”,(float)x);}A)int B)float C)void D)不确定或错误二、阅读下列程序,写出运行结果(共18分,每题3分)[程序1]#include <stdio.h>void main( ){ int a=1,b=4,c=2; 运行结果: 1a=(a+b)/c;printf(“%d \n”,--a);}[程序2]void main ( ){ char c1=67; /*‘A’的ASCII码值为65 */if (‘A’ <=c1 && c1<=’Z’) 运行结果: 67,Dprintf(“%d,%c”,c1,c1+1);else printf(“%c”,c1); }[程序3]viod main ( ){ int a=0, n=5; 运行结果: 1,5,4,3,2,0for ( ; ; ){ a++; n--;printf(“%d,”,a);a=n;if (n==0) break;}printf(“%d”,a);}[程序4]main ( ){ int i, j; 运行结果: 1,2,4,8,16,32,64,128,256,512 static int a[10]={1,1,1,1,1,1,1,1,1,1};for (i=0;i<10;i++)for (j=0;j<i;j++)a[i]=a[i]+a[j];for (i=0;i<10;i++)printf(“%d,”,a[i]);}[程序5]int k=2;f (int m) 运行结果: 6,8{ m+=k;k+=m; 5,9printf(“%d,%d \n”,m,k++);}main ( ){ int i=4;for (i++);printf(“%d,%d \n”,i,k); }[程序6]void main ( ){ static int a[10],i; 运行结果: 1 3 5 7 9for (i=0;i<10;i++)a[i]=i+1;for (i=0;i<10;i=i+2)printf(“%d”,*(a+i));}三、阅读分析下列程序,在处填上适当的内容使程序(或函数)完整(共21分,每空3分)(一)以下程序输出所有大写字母和其对应的ASCII码值。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
c语言等级考试题及答案
c语言等级考试题及答案1. 以下哪个选项是C语言中的合法变量名?A. 2variableB. variable-nameC. variable$nameD. variable_name答案:D2. C语言中,用于定义一个整型变量的关键字是?A. intB. floatC. doubleD. char答案:A3. 若有以下代码片段:```cint a = 10, b = 20;printf("%d", a+b);```输出结果是什么?A. 1020B. 30C. 10 20D. 错误信息答案:B4. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 以下哪个选项是C语言中数组的正确声明方式?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. 所有选项答案:D6. C语言中,用于执行条件判断的关键字是?A. ifB. switchC. whileD. for答案:A7. 若有以下代码片段:```cint x = 5;if (x > 10)printf("x is greater than 10");elseprintf("x is less than or equal to 10"); ```输出结果是什么?A. x is greater than 10B. x is less than or equal to 10C. 无输出D. 错误信息答案:B8. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. log()D. exp()答案:A9. 以下哪个选项是C语言中字符串的正确声明方式?A. char str[] = "Hello, World!";B. char str = "Hello, World!";C. char str[] = {'H', 'e', 'l', 'l', 'o'};D. 选项A和C答案:D10. 若有以下代码片段:```cint main() {int a = 3;int b = 4;int c = a + b;return 0;}```函数main()的返回值是什么?A. 3B. 4C. 7D. 0答案:D。
C#复习题-选择和判断
C#复习题-选择和判断一.判断题1.注释的作用是使程序在执行时在屏幕上显示//之后的内容。
(×)2.C#语言中的数组元素下标总是从0开始,下标可以是整数或整型表达式。
(√)3.C#异常处理中可以使用多个catch子句,此时应将高级别异常类的catch子句放在前面。
(×)4.C#程序里,创建新的类对象用关键字new,回收无用的类对象使用关键字free。
(×)5.在C#中对象可以赋值,只要使用赋值号(等号)即可,相当于生成了一个各属性与赋值对象相同的新对象。
(×)6.无论C#源程序包含几个类的定义,都可用同一个源程序文件以B.cs命名(√)7.即使一个类中未显式定义构造函数,也会有一个缺省的构造函数,缺省的构造函数是无参的,函数体为空。
(√)8.在C#的方法中定义一个常量要用const关键字。
(√)9.C#的类不允许多重继承,但接口支持多重继承。
(√)10.所谓抽象类就是包含有抽象方法的类。
(×)11.在异常处理中总是将可能产生异常的语句放在try块中,用catch子句去处理异常,而且一个try块之后只能对应一个catch语句。
(×)12.程序员可以不必释放已创建的对象,因为C#有垃圾回收机制,内存回收程序可在指定的时间释放内存对象。
(×)13.C#语言中的数组元素只能是基本数据类型而不能为对象类型。
(×)14.构造函数用于创建类的实例对象,构造函数名应与类名相同,在类中必须定义构造函数,且只能定义一个构造函数。
(×)20. (×) 程序中抛出异常时(throw …),只能抛出自己定义的异常对象。
23.(√) 实现一个接口,则在类中一定要实现接口中的所有方法。
24. ( ×) 所有的文件输入/输出流都在System.write和System.read中。
25. (√) 一个异常处理中finally语句块只能有一个或者可以没有。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计模拟题一、填空题1、c程序是由()构成的。
2、为解决一个问题而采取的方法和步骤,就称为()。
3、若有定义intx=3,y=2和floata=2.5,b=3.5,则表达式(x+y)%2+(int)a/(int)b的值是()。
4、若有定义inta=12,n=5,则表达式a%=(n%2)运算后,a的值()。
5、设intx=3,y=5;则执行printf("%d\n",x&&y);后输出_____。
6、设intx=7,y=3,则表达式x%y+x/y的值是________。
7、函数调用语句由()加( )构成。
8、Scanf函数中的格式控制后面应当是( ),而不应是变量名。
9、关系运算符的优先级()算术运算符。
10、条件运算符的结合方向为()。
11、表示“x>=y>=z”的表达式是().12、设y为int型,写出y为奇数的关系表达式()13、语句标号用()表示,它的定名规则与变量名相同。
14、一个循环体内又包含另一个完整的循环结构,称为()。
15、常量表达式中可以包括常量和符号常量,不能包含()。
16、若有定义:doublex[3][5];则x数组中行下标的下限为_________,列下标的上限为_________.17、在C语言中,一个函数一般由两个部分组成,它们是()和()。
18、所有的函数都是(),即在定义函数时是分别进行的。
19、在c语言中,实参向形参的数据传递是(),单向传递。
在调用一个函数的过程中又出现直接或间接地调用该函数本身,称为函数的()。
二、选择题1.以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2.以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3.一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4.一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6.在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7.有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( )。
#include<stdio.h>main(){ intx; floaty; scanf("%3d%f",&x,&y); }A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9.以下程序的执行结果是( )#include<stdio.h>{ inti=10,j=10; printf("%d,%d\n",++i,j--); }A、11,10B、9,10C、11,9D、10,910.巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main() {charc1='A',c2='Y'; printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911.下列运算符中优先级最高的是( )A、<B、十C、%D、!=12.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( )。
A、’x’&&’y’B、x<=yC、x||y+z&&y-zD、!((x<y)&&!z||1)13.判断char型变量cl是否为小写字母的正确表达式为( )A、’a’<=c1<=f’z’B、(c1>=a)&&(c1<=z)C、(‘a’>=c1)(‘z’<=c1)D、(c1>=’a’)&&(c1<=’z’)14.字符串"a"在内存中占据的字节个数为( )A、0B、1C、2D、315.下面有关for循环的正确描述是( )A、for循环只能用于循环次数已经确定的情况B、for循环是先执行循环体语句,后判定表达式C、在for循环中,不能用break语句跳出循环体D、for循环体语句中,可以包含多条语句,但要用花括号括起来16.下面程序的运行结果是( )#include<stdio.h>main(){int num=0;while(num<=2){num++; printf(“%d,num); } }A、1B、12C、123D、123417.以下描述正确的是()A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。
B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。
C、在do-while循环体中,一定要有能使while后面表达式的值变成零(“假”)的操作。
D、do-while循环中,根据情况可以省略while。
18.以下对一维整形数组a的正确说明是( )A、inta(10);B、intn=10,a[n];C、intn;D、inta[10];scanf(“%d”,&n);inta[n];19.以下对二维数组a的正确说明是( )A、inta[3][];B、floata(3,4);C、doublea[1][4];D、floata(3)(4);20.若二维数组a有m列,则在a[j]前面的元素个数为( )A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+1三、判断题1.c语言允许直接访问物理地址,能进行位操作。
()2.算法的三种基本结构内的每一部分都有机会被执行到()3.算法的特点包括:确定性,有效性,无穷性,有零个或多个输入,有一个或多个输出( )4.c语言标示符只能由字母,空格,下划线3种字符组成。
()5.在c语言中,要求对所有用到的变量做强制定义,也就是“先定义,后使用”。
( )6.c语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号不是运算符()7.%f,不指定字段宽度,由系统自动指定,使整数部分全部输出,并输出6位小数。
()8.getchar函数只能接受一个字符,而printf可输出多个数据。
()9.在用“%d%d%d”格式输入数据时,不能用逗号作为俩个数据间的分隔符。
()10.continue语句只能结束本次循环,而break语句是结束整个循环过程。
()11.循环三要素包括循环变量初值,循环变量值,循环条件。
()12. C程序的三种结构化程序设计方法分别顺序结构、选择结构和循环结构()13.形参表示数组名,实参表示数组定义。
()14..在定义数组时,方括号中任意表达式都可()15.一个源程序文件是一个编译单位,在程序编译时是以源程序文件或者函数为单位进行编译的。
()16. 在调用函数时,主调函数在调用被调用函数时,通过参数向被调用函数传递数据。
()17.在C语言中,实参向形参的数据传递是"值传递",单向传递,只由实参传给形参,而不能由形参传回来给实参。
()18. 主函数定义的变量在整个程序和文件中有效,主函数也可以使用其他函数中定义的变量。
()19. 对静态局部变量是在编译时赋初值的,而且可以赋值多次。
()20.在定义函数中指定的形参,在未出现函数调用时,它们并不占内存中的存储单元。
只有在发生函数调用时,才被分配内存单元,在调用结束后,内存单元也被释放。
()四、阅读下面程序并写出程序运行结果1.下面程序的运行结果#include<stdio.h>void main(){int i,a[10]={1,2,3,4,5,6,7,8,9,10},temp;temp=a[9];for(i=9;i>0;i--)a[i]=a[i-1];a[0]=temp;for(i=0;i<10;i++)printf(“%d”,a[i]);}2.下面程序的运行结果#include<stdio.h>void main(){int a[4][4] ,i , j, k;for(i=0;i<4;i++)for(j=0;j<4;j++)a[i][j]=i-j;for(i=1;i<4;i++)for(j=i+1;j<4;j++){ k=a[i][j];a[i][j]=a[j][i];a[j][i]=k; }for(i=0;i<4;i++){ printf("\n");for(j=0;j<4;j++) printf("%4d",a[i][j]); } }3.下面程序的运行结果#include <stdio.h>void main( ){int x=1,a=2,b=3;switch(x){case 1: a--; break;case 2: b++; break;case 3: a++;b++;}printf("\na=%d,b=%d\n",a,b);}4.下面程序的运行结果#include <stdio.h>void main( ){int number,digit ;number=1234;while (number!=0){digit=number%10;printf("%d",digit);number=number/10;}}五、程序改错题在下列程序中有三处错误,从标号①-⑩中找出3处错误,在指定的横线上写出错误语句的标号并改为正确的语句,每处5分,其中找出标号2分,改正3分。
1、功能:计算数组的最大值#include<stdio.h>①int arrmax(int a, int n); //计算数组的最大值int main(){② int a[10];int i, max;printf("请输入10个整数\n");③ for(i=0; i<10; i++)④ scanf("%d", a[i]);⑤ max=arrmax(a,10);printf("max=%d\n", max);return 0;}⑥ int arrmax(int a[], int n){ int i, max;⑦ max=a[0];⑧ for(i=1; i<n; i++)⑨ if(a[i]<max) max=a[i];⑩ return max;}//程序结束2、功能:求1---10的阶乘的和。