计算机二级C语言程序设计章节习题
- 格式:docx
- 大小:25.13 KB
- 文档页数:15
12)计算机能直接执行的程序是(B )。
A)源程序B)目标程序C)汇编程序D)可执行程序13)以下叙述中正确的是( D )A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整例年真题:#include<stdio.h>main(){Int a;A=5; /*给A变量赋值5A+=3; 再赋值后再加3*/Printf(“%d”,a);}(11)以下叙述中正确的是( C )。
A)C 程序的基本组成单位是语句B)C 程序中的每一行只能写一条语句C)简单C 语句必须以分号结束D)C 语句必须在一行内写完(11)以下叙述中正确的是( C )A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中(12)以下选项中,能用作用户标识符的是( C )A)voidB)8_8C)_0_D)unsigned【解析】A:关键字不可以B:不以数字开头C:正确D:关键字(13)以下选项中合法的标识符是( C )A)1-1 B)1—1C)-11D)1—【解析】A:不以数字开头,出现非法字符-而不是_ B:不以数字开头,非法字符C:正确D: 不以数字开头,出现非法字符(14)以下选项中不合法的标识符是( C )A)print B)FOR C)&a D)_00【解析】C:出现非法字符&(15)以下选项中,能用作数据常量的是( D )A)o115 B)0118 C)1.5e1.5D)115L【解析】A:八进制以0开头而不是以o开头B:八进制最大值为7,范围0-7 C:指数必须为整数D: 长整型正确(13)以下选项中不能作为C语言合法常量的是(A)。
A)'cd'B)0.1e+6 C)"\a" D)'\011'【解析】A:字符常量只能有一个字符(16)以下选项中不属于字符常量的是( B )A)'C'B)"C"C)'\xCC0' D)'\072'【解析】B:字符常量以单引号作为标志,其为字符串(14)表达式:4-(9)%2的值是( B )A)0B)3C)4D)5【解析】(9)%2=1(取余),4-1=3(14)设变量已正确定义并赋值,以下正确的表达式是 ( C )A)x=y*5=x+zB)int(15.8%5)C)x=y+z+5,++yD)x=25%5.0【解析】A:等号左边必须为变量,不可以为表达式,y*5是表达式B:%只适用于整型变量D: %只适用于整型变量(15)若有定义语句:int x=10;,则表达式x-=x+x的值为( B )A)-20B)-10C)0D)10【解析】先算右边得20,x-=20,则10-20=-10(14)设有定义:int x=2;,以下表达式中,值不为6的是 ( D )A) x*=x+1 x=x*(x+1)B) x++,2*xC)x*=(1+x)D)2*x,x+=2【解析】逗号表达式的最终结果看最后一个表达式,x+=2,结果为4(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是 (A)A)x=y==5;B)x=n%2.5;C)x+n=ID)x=5=4+1;【解析】等号左边必为变量,不能为常量或数字排除C 、D,%只能用于整数排除B第三章输入输出习题讲解(13)阅读以下程序#includemain(){ int case; float printF;printf(“请输入2个数:”);scanf(“%d %f”,&case,&pjrintF);printf(“%d %f\n”,case,printF);}该程序编译时产生错误,其出错原因是(A)A)定义语句出错,case是关键字,不能用作用户自定义标识符B)定义语句出错,printF不能用作用户自定义标识符C)定义语句无错,scanf不能作为输入函数使用D)定义语句无错,printf不能输出case的值(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是(D)A)0,0B)1,0C)3,2D)1,2【解析】b=a+b即b=1,a=2*b,a=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是(A )A)123.141593B)123.141593C)12,3.141593D)12 3.141593【解析】“%d%8.6f”原样输出,没有,也没有空格,所以x与y相连,小数总共8位,小数点之后6位#include <stdio.h>main(){double a=123.456;printf("%6.2f",a);}结果:123.46例题:int x;x=11/3;int y=5;printf("%%d,%%%d\n",x,y); 结果是:%d,%3【解析】"%%d,%%%d\n"原样输出,%%d中第一个%为转义字符,不是输出占位符,所以原样输出%d,然后%%转义只输出一个%,%d\n只有一个占位符,所以只输出x的值为3[3.5] 若变量已正确说明为int类型,要给a、b、c输入数据,以下正确的输入语句是( D )A)read(a,b,c); B)scanf(“ %d%d%d” ,a,b,c);C)scanf(“ %D%D%D” ,&a,%b,%c);D)scanf(“ %d%d%d”,&a,&b,&c);【解析】scanf中赋值必须用&(取地址符),即将输入的字符放在指定位置中[3.6] 若变量已正确说明为float类型,要通过以下赋值语句给a赋予10、b赋予22、c 赋予33,以下不正确的输入形式是( B )A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 3333scanf(“ %f %f %f” ,&a,&b,&c);【解析】输入时可以空格可以回车,但是不可以出现,复合语句:多个语句被{}括起来,当成一条语句来执行。
全国计算机等级考试二级C语言程序设计真题精选3一、单项选择题1.下列关于C语言文件的叙述中正确的是()。
A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件√D.文件由字符序列组成,其类型只能是文本文件解析:C语言将文件看作是一个字符(字节)的序列,即由一个一个字符(字节)数据顺序组成。
根据数据的组成形式,可将文件分为两种:①ASCII文件,又称文本(text)文件,它的每一个字节可放一个ASCII码,代表一个字符;②二进制文件,是把内存中的数据按其在内存中的存储形式原样输出到磁盘上存放。
所以C文件就是一个字节流或一个二进制流。
2.有以下程序:#includ<stdio.h>main()inm=1,n=2,*p=&m,*q=&n,*r; r=p,p=q;q=r; printf("%d,%d,%d,%",m,n,*p,*q);}程序运行后的输出结果是()。
A.1,2,1,2B.1,2.2,1 √C.2,1,2,1D.2,1.1,2解析:本题定义了两个整型变量,然后用两个指针分别指向这两个整型变量,接着对指针进行交换,那么原来指向第一个整数的指针将指向第二个整数,原来指向第二个整数的指针将指向第一个整数。
3.有以下程序:#includ<stdio.h>#include<string.h>strucAina;chab[10];doublc;};strucf (struct);main()struca={1001,"ZhangDa",1098.0}; a=f(a);printf ("%d,%s,%6.1",a.a,a.b,a.c);}strucf(struct)t.a=1002;strcpy(t.b,"ChangRong");t.c=1202.0;returt;}程序运行后的输出结果是()。
《全国计算机等级考试二级教程——C语言程序设计》习题分析与详细解答第一章程序设计基本概念习题分析与解答1.1 【参考答案】EXE1.2 【参考答案】[1].C [2].OBJ [3].EXE1.3 【参考答案】[1]顺序结构[2]选择结构[3]循环结构第二章C程序设计的初步知识习题分析与解答一、选择题2.1 【参考答案】B)2.2 【参考答案】D)2.3 【参考答案】B)2.4 【参考答案】A)2.5 【参考答案】C)2.6 【参考答案】A)2.7 【参考答案】B)2.8 【参考答案】B)2.9 【参考答案】D)2.10 【参考答案】C)2.11 【参考答案】B)2.12 【参考答案】B)2.13 【参考答案】A)二、填空题2.14 【参考答案】[1]11 [2]122.15 【参考答案】[1]4.2 [2]4.22.16 【参考答案】[1]{ [2]} [3]定义[4]执行2.17 【参考答案】[1]关键字[2]用户标识符2.18 【参考答案】[1]int [2]float [3]double2.19 【参考答案】float a1=1.0, a2=1.0;或float a1=1, a2=1;(系统将自动把1转换为1.0)2.20 【参考答案】存储单元2.21 【参考答案】 3.52.22 【参考答案】[1]a*b/c [2]a/c*b [3]b/c*a2.23 【参考答案】把10赋给变量s2.24 【参考答案】[1]位[2]1位二进制数据(0或1)2.25 【参考答案】[1]8 [2]127 [3]01111111 [4]-128 [ 5 ] 10000000 2.26 【参考答案】[1]32767 [2]-32768 [3]100002.27 【参考答案】[1]十[2]八[3]十六三、上机改错题2.28 【分析与解答】第1行的错误:(1) include是一个程序行,因此在此行的最后不应当有分号(;)。
1、在C语言中,若需定义一个标识符以表示一个常量,通常使用:
A. const 关键字
B. #define 预处理指令
C. enum 关键字
D. typedef 关键字
(答案)B
2、以下哪个选项正确地描述了C语言中数组的内存分配?
A. 数组元素在内存中连续存储
B. 数组元素在内存中随机存储
C. 数组名代表数组第一个元素的值
D. 数组大小可以在运行时动态改变
(答案)A
3、在C语言中,关于指针的下列说法中,哪一个是正确的?
A. 指针变量的值可以是一个整数
B. 指针变量可以进行算术运算
C. 所有指针类型的大小都相同,但与所指向的数据类型有关
D. 一个指针变量只能指向一个固定类型的变量
(答案)B
4、在C语言中,若要在函数内部修改一个全局变量的值,需要:
A. 使用extern关键字声明该变量
B. 直接使用全局变量名,无需特别声明
C. 通过指针传递全局变量的地址
D. 将全局变量作为函数参数传递
(答案)B
5、以下哪个不是C语言的基本数据类型?
A. int
B. float
C. string
D. char
(答案)C
6、关于C语言中的结构体(struct),以下说法错误的是:
A. 结构体可以包含不同类型的数据成员
B. 结构体变量可以通过.运算符访问其成员
C. 结构体成员在内存中的顺序是固定的
D. 结构体类型的大小等于其所有成员大小之和
(答案)D。
计算机二级C语言程序设计试题及答案尽管提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进展编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
今天,特意为大家推荐C语言程序设计试题及答案,一起看看吧!1.C语言中,关系表达式和逻辑表达式的值是( B ) 。
A、0B、 0或1C、 1D、‘T’或’F’2. 下面( D )表达式的值为4.A、 11/3B、 11.0/3C、 (float)11/3D、 (int)(11.0/3+0.5)【解析】(1)相同数据类型的元素进展数学运算(+、-、*、/)得到结果还保持原数据类型。
(2)不同数据类型的元素进展数学运算,先要统一数据类型,统一的标准是低精度类型转换为高精度的数据类型。
选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数局部全部舍掉,仅保存整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B11.0/3=3.666666选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数局部全部舍掉,结果为43.设整型变量 a=2,那么执行以下语句后,浮点型变量b的值不为0.5的是( B )A、b=1.0/aB、b=(float)(1/A、C、b=1/(float)aD、b=1/(a*1.0)4. 假设“int n; float f=13.8;”,那么执行“n=(int)f%3”后,n的值是(A)A、1B、4C、4.333333D、4.6【解析】“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数局部舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为15. 以下对一维数组a的正确说明是: DA、char a(10);B、 int a[];C、int k=5,a[k];D、char a[3]={‘a’,’b’,’c’};【解析】详见教材P143~144,一维数组的定义、初始化类型符数组名 [常量表达式]类型符是指数组中数组元素的类型;数组名要符合标识符命名规那么;常量表达式是指数组的长度(数组中包含元素的个数),其值只能是整数,不可以是变量,而且从1开始计数。
第九章数组一、选择题[9.1] 假设已定义:int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0<=i<=9,那么对a数组元素的引用不正确的选项是A)a[p-a] B) *(&a[i]) C) p[i] D) *(*(a+i))【解析】A:p开场是数组a首地址,只要p++那么再减去a的首地址a[p-a]就能取到所有元素,B:&a[i]循环取其地址,*(&a[i]) 是该地址中所存储的元素C:p就是指针变量,相当于a[i],D:*(a+i) 那么正确[9.2] 以下程序段数组所有元素输入数据,应在下划线填入的是A) a+(i++) B) &a[i+1] C) a+i D) &a[++i]main(){ int a[10],i=0;while(i<10) scanf("%d",_);}【解析】因为要遍历,所以排除B.C,因为D先加1再取值,丢了a[0][9.3] 以下程序的输出结果是A) 3 B) 4 C) 1 D) 2main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2)); }【解析】*p=a;p指向首地址,*(p+2))往后移动两个元素,指向3[9.4] 以下程序的输出结果是A) 不确定的值 B) 3 C) 2 D) 1main(){ int n[2]={0},i,j,k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[k]);}[9.5] 以下程序的输出结果是A)17 B)18 C)19 D)20main(){ int a[]={2,4,6,8,10},y=1,x,*p;p=&a[1];for(x=0;x<3;x++) y+=*(p+x);printf("%d\n",y);}【解析】p=&a[1]那么p指向元素为4,y+=*(p+x);相当于y=1+4+6+8=19[9.6] 以下程序的输出结果是A) 6 B) 8 C) 4 D) 2main(){ int a[]={2,4,6,8},*p=a,i;for(i=0;i<4;i++) a[i]=*p++;printf("%d\n",a[2]);}【解析】p=a,相当于重新把a中的容赋给a本身,所以a[2]=6[9.7] 以下程序的输出结果是A) 720 B) 120 C) 24 D) 6f(int b[],int n){ int i,r=1;for(i=0;i<=n;i++) r=r*b[i];return r;}main(){ int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3);printf("%d\n",x);}【解析】调用x=f(a,3);for循环4次,将前四个元素相乘,即得r=2*3*4*5;[9.8] 以下程序中假设第一个printf语句输出的是194,那么第二个printf语句的输出结果是A) 212 B) 204 C) 1a4 D) 1a6 12main(){ int a[]={1,2,3,4,5,6,7,8,9,0},*p;p=a;printf("%x\n",p);printf("%x\n",p+9); }【解析】因为开场p的地址为194,p+9是指指针向后移动9个元素,而不是9个字节,每个int占2个字节,所以共移动18个字节,1个字节占一个存储单位,%x\n"是16进制,将18转化成16进制是12,所以194+12=2a6[9.9] 以下程序的输出结果是A) 0987654321 B) 4321098765 C) 5678901234 D) 0987651234fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--; }}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3); fun(p,4,9); fun(p,0,9);for(i=0;i<10;i++) printf("%d",*(a+i));}【解析】为了使大家清晰地看出fun(int *s,int n1,int n2)的作用,我自己完善了程序如下:#include <stdio.h>#include <stdlib.h>fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(i<j){ t=*(s+i); *(s+i)=*(s+j); *(s+j)=t;i++; j--; }}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},i,*p=a;fun(p,0,3);for(i=0;i<10;i++) printf("%d",*(a+i)); printf("\n");fun(p,4,9);for(i=0;i<10;i++) printf("%d",*(a+i));printf("\n");fun(p,0,9);for(i=0;i<10;i++) printf("%d",*(a+i));printf("\n");}结果如下:其实,fun(p,0,3);就是将a中的前4个元素倒序,fun(p,4,9); 就是将a中的第5个到第10个倒序,最后fun(p,0,9);全部元素倒序。
目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
计算机二级C语言习题集汇总及答案目录第一章C语言基础知识第二章C语言程序设计的初步知识第三章顺序结构程序设计第四章选择结构程序设计第五章循环结构程序设计第六章数组第七章函数第八章指针第九章结构体与共用体第十章文件附录1 预处理命令附录2 位运算模拟试题一模拟试题二模拟试题三模拟试题四模拟试题五第一章答案第二章答案第三章答案第四章答案第五章答案第六章答案第七章答案第八章答案第九章答案第十章答案附录1 答案附录2 答案模拟试题一答案模拟试题二答案模拟试题三答案模拟试题四答案模拟试题五答案第一章C语言基础知识一、选择题1.C语言规定,必须用C 作为主函数名。
(0级)A)Function B)include C)main D)stdio 2.一个C程序可以包含任意多个不同名的函数,但有且仅有一个,一个C程序总是从 B 开始执行。
(0级)A)过程B) 主函数C)函数D)include3. A 是C程序的基本构成单位。
(0级)A)函数B) 函数和过程C) 超文本过程D) 子程序4.下列说法正确的是C 。
(0级)A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可B) 一个函数的函数体必须要有执行部分,可以没有变量定义C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数D) 以上都不对5.下列说法正确的是D 。
(0级)A) main函数必须放在C程序的开头B) main函数必须放在C程序的最后C) main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的D) main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的6.下列说法正确的是 C 。
(0级)A) 在执行C程序时不是从mian函数开始的B) C程序书写格式严格限制,一行内必须写一个语句C) C程序书写格式自由,一个语句可以分写在多行上D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号7.在C语言中,每个语句和数据定义是用C 结束。
计算机二级C语言程序设计章节习题一简单回答下述问题C++语言中注释符的格式如何?注释信息的功能是什么?答:注释符格式有2种:格式一:/* <注释信息> */格式二:// <注释信息>注释信息是用来对程序进行提示和说明的。
使用const定义符号常量比使用#define定义符号常量有何优点?答:使用const定义符号常量时要指出数据类型,而用#define定义符号常量时不需提出类型,因此前者比后者对类型要求更严格,这样会更安全。
内部静态存储类变量有何特点?答:内部静态存储类变贯的特点是作用域较小,但寿命很长,这种变量作用域与寿命不一致,因此会出现不可见但又存在的情况。
在使用插入符(<<)输出若干个表达式值时,有的表达式中使用的运算符的优先级低于插入符优先级时应该如何处理?答:这时需将表达式用括号括起来,己改变其优先级。
5.由多种不同运算符组成的表达式,其类型如何确定?例如,int a, b, c;…a=b>c?b:c;这是一个条件表达式还是赋值表达式?答:表达式类型由优先级低的运算符组成的表达式来确定。
15这是一个赋值表达式,因为赋值运算符优先级低于三目运算符。
1.数组元素个数是由什么决定的?答:数组元素个数是由维数及其大小来决定的。
一维数组元素个数是该维的大小,二维数组的元素个数是两维大小之积等。
1.数组元素下标有何规定?答:C++语言中,数组元素下标从0开始。
1.初始值表中数据项的类型和个数有何规定?答:初始值表中数据项的类型应与该变是类型相同,个数应小于或等于被初始化的数组元素的个数。
1.字符数组和字符串有什么关系?答:字符数组中可存放字符串,而字符数组不都是存放字符串的。
如果字符数组中有字符串结束符,则说明该字符数存放的是字符串。
10.一个数组中的元素类型是否一定相同?何时定义的数组元素具有默认值?答:数组中元素类型必须相同。
存储类为外部和静态的数组其元素具有默认值二判断题√1.表达式和表达式语句是不同的。
×2.空语句是一种没有用处的语句。
×3.复合语句就是分程序。
×4.条件语句中if子句和else子句都是必须有并且仅有一个。
√5.条件语句中else if子句可以没有,也可以有多个。
√6.开关语句可实现多路分支。
×7.开关语句的<语句序列>中必须有一个break语句,否则该开关语句便无法退出。
×8.任何循环语句都是至少执行一次循环体。
×9.退出for循环语句必须是for后面括号内的中间一个表达式的值为0。
√10.do-while循环语句至少要执行一次循环体。
×11.循环语句的循环体中可以出现if语句,if语句的if体内不能出现循环语句。
×12.goto语句中所使用的语句标号是一种标识符,它的作用域是文件级的。
√13.break语句和continue语句都可以出现在循环体中,但是它们的作用是不同的。
×14.文件包含命令所能包含的文件类型是不受限制的。
三单选题1.下列关于语句的描述中,错误的是( A )。
A.C++程序中的函数是由若干条语句组成的B.每条语句都要实现某种操作C.条件语句是用来实现分支操作的D.循环语句是用来在一定条件下重复执行某段程序的2.下列关于条件语句的描述中,错误的是( C )。
A.if语句中最多只能有一个else子句16B.if语句的if体内可以出现开关语句C.if语句中else if子句和else子句的顺序是没有限制的D.if语句中else子句是与它最近的if子句配对的3.下列关于开关语句的描述中,错误的是( B )。
A.开关语句中,case子句的个数是不受限制的B.开关语句中,case子句的语句序列中一定要有break语句C.开关语句中,default子句可以省略D.开关语句中,右花括号具有退出开关语句的功能4.下列关于循环语句的描述中,错误的是( A )。
A.while循环语句中<条件>给定的表达式不能为非0的常量,否则便是死循环B.for循环语句的循环体内可以出现while循环语句、do-while循环语句和for循环语句C.循环语句的循环体可以是空语句D.循环语句的循环体内可以出现break语句,也可以出现continue语句5.已知:int i(3);下列do-while循环语句的循环次数是( D )。
do{cout<i--;}while(i!=0);A.0B.3C.1D.无限6.下列for循环语句的循环次数是( B )。
for(int i(0), j(5); i=3; i++, j--);A.3B.无限C.5D.07.下列while循环语句的循环次数是( A )。
while(int i(0)) i--;A.0B.1C.2D.无限8.下列程序段执行后,j值是( B )。
for(int i(0), j(0); i<10; i++)if(i) j++;A.0B.9C.10D.无限9.已知:typedef char CH;下列描述中,正确的是( A )。
A.使用CH定义的变量是char型变量B.使用CH定义的是一个字符常量C.使用CH定义的变量其类型不确定D.使用CH定义的是一个字符串10.下列关于预处理命令的描述中,错误的是( D )。
A.预处理命令最左边的标识符是#B.预处理命令是在编译前处理的C.宏定义命令可以定义符号常量D.文件包含命令只能包含.h文件四单选题1.下列关于面向对象概念的描述中,错误的是( C )。
A.面向对象方法比面向过程方法更加先进B.面向对象方法中使用了一些面向过程方法中没有的概念C.面向对象方法替代了结构化程序设计方法D.面向对象程序设计方法要使用面向对象的程序设计语言2.下列各种高级语言中,不是面向对象的程序设计语言是( D )。
A.C++B.JavaC.VBD.C3.下列关于类的描述中,错误的是( A )。
A.类就是C语言中的结构类型B.类是创建对象的模板C.类是抽象数据类型的实现D.类是具有共同行为的若干对象的统一描述体4.下列关于对象的描述中,错误的是( C )。
A.对象是类的一个实例B.对象是属性和行为的封装体C.对象就是C语言中的结构变量D.对象是现实世界中客观存在的某种实体5.下列关于C++程序中使用提取符和插入符的输入/输出语句的描述中,错误的是( C )。
A.提取符是对右移运算符(>>)重载得到的B.插入符是对左移运算符(<<)重载得到的C.提取符和插入符都是双目运算符,它们要求有两个操作数D.提取符和插入符在输入/输出语句中不可以连用填空题1.C++语言具有面向对象方法中要求的三大特性:封装性、继承性和多态性。
2.C++程序中,有且仅有一个主函数。
3.C++程序是由类和函数组成的。
4.C++源程序的扩展名是cpp 。
5.使用插入符进行标准输出文件输出时,使用的输出流对象名是cout 。
判断题×1.C++语言和C语言都是面向对象的程序设计语言。
√2.面向对象方法具有封装性、继承性和多态性。
√3.C语言是C++语言的一个子集。
C++语言继承了C语言。
×4.C++语言程序与C语言程序一样都是函数串。
×5.C++语言支持封装性和继承性,不支持多态性。
√6.C++语言比C语言对数据类型要求更加严格了。
√7.C++语言对C语言进行了一次改进,使得编程更加方便了。
×8.C++源程序在编译时可能出现错误信息,而在连接时不会出现错误信息。
√9.编译C++源程序时,出现了警告错(Warning)也可以生成可执行文件。
√10.C++语言程序的实现也要经过编辑、编译连接和运行3个步骤。
五单选题1.下列关于语句的描述中,错误的是( A )。
A.C++程序中的函数是由若干条语句组成的B.每条语句都要实现某种操作C.条件语句是用来实现分支操作的D.循环语句是用来在一定条件下重复执行某段程序的2.下列关于条件语句的描述中,错误的是( C )。
A.if语句中最多只能有一个else子句B.if语句的if体内可以出现开关语句C.if语句中else if子句和else子句的顺序是没有限制的D.if语句中else子句是与它最近的if子句配对的3.下列关于开关语句的描述中,错误的是( B )。
A.开关语句中,case子句的个数是不受限制的B.开关语句中,case子句的语句序列中一定要有break语句C.开关语句中,default子句可以省略D.开关语句中,右花括号具有退出开关语句的功能4.下列关于循环语句的描述中,错误的是( A )。
A.while循环语句中<条件>给定的表达式不能为非0的常量,否则便是死循环B.for循环语句的循环体内可以出现while循环语句、do-while循环语句和for循环语句C.循环语句的循环体可以是空语句D.循环语句的循环体内可以出现break语句,也可以出现continue语句5.已知:int i(3);下列do-while循环语句的循环次数是( D )。
do{cout<i--;}while(i!=0);A.0B.3C.1D.无限6.下列for循环语句的循环次数是( B )。
for(int i(0), j(5); i=3; i++, j--);A.3B.无限C.5D.07.下列while循环语句的循环次数是( A )。
while(int i(0)) i--;A.0B.1C.2D.无限8.下列程序段执行后,j值是( B )。
for(int i(0), j(0); i<10; i++)if(i) j++;A.0B.9C.10D.无限9.已知:typedef char CH;下列描述中,正确的是( A )。
A.使用CH定义的变量是char型变量B.使用CH定义的是一个字符常量C.使用CH定义的变量其类型不确定D.使用CH定义的是一个字符串10.下列关于预处理命令的描述中,错误的是( D )。
A.预处理命令最左边的标识符是#B.预处理命令是在编译前处理的C.宏定义命令可以定义符号常量D.文件包含命令只能包含.h文件判断题√1.表达式和表达式语句是不同的。
×2.空语句是一种没有用处的语句。
×3.复合语句就是分程序。
×4.条件语句中if子句和else子句都是必须有并且仅有一个。
√5.条件语句中else if子句可以没有,也可以有多个。
√6.开关语句可实现多路分支。
×7.开关语句的<语句序列>中必须有一个break语句,否则该开关语句便无法退出。
×8.任何循环语句都是至少执行一次循环体。