大学计算机软件编程,计算机程序设计VC++-中国大学mooc-题库零氪

第1讲 C/C++程序设计入门

第1讲单元测验

1、以下________是C/C++合法的标识符。

A、char2

B、@x

C、int

D、7Bw

2、下面的程序,对于输入:2 9 15,输出的结果是________。 #include "iostream" using namespace std; int main() { int a; int b; cout<>a>>b; cout<

A、输入的数据超过要求的数据,程序运行出现错误

B、11

C、26

D、24

3、在VS C++中,要在原有程序中修改程序代码应打开扩展名为________的文件。

A、obj

B、sln

C、exe

D、cpp

4、有关C语言和C++语言以下正确的说法是________。

A、C语言和C++语言都是结构化程序设计语言

B、C语言和C++语言都是面向对象的程序设计语言

C、C语言是结构化语言,C++语言是面向对象的语言

D、C++语言是结构化语言,C语言是面向对象的语言

5、程序设计语言的发展通常被划分为三个阶段,其中不包括________。

A、高级语言

B、汇编语言

C、机器语言

D、数据库语言

6、通过cin语句为多个变量输入数据时,不能用______分隔多个数据。

A、空格

B、回车

C、制表符

D、逗号

7、以下描述正确的是 。

A、在C++中,程序中有且只能有一个Main()函数。

B、C++程序的每行中只能写一条语句。

C、C++中没有专门的输入/输出语句,通过输入/输出流实现。

D、C++中没有专门的输入/输入函数。

8、C和C++语言中不区分大小写字母。

9、在C和C++语言中,注释语句是可执行语句。

10、C和C++语言(C++11之前的标准)中,用户自定义的标识符中不能包含汉字。

11、C和C++语言源程序中如果存在语法错误,程序仍可以运行,但结果不正确。

12、cin后的提取运算符“>>”之后只能跟变量。

13、C++源程序的扩展名为________。

14、在C++中,无论一个程序中有多少个函数,总是从_______函数开始执行。

15、C和C++语言中,________是语句结束的标志。

第1讲 单元作业

1、以下程序的功能是借助一个变量交换两个已知数据的值,程序中存在一些错误,修改这些错误并调试程序。 #include "iostream" using namespace std; int main( ) { int x,y; t=x; x=y; t=y; cin>>x>>y>>endl; cout<

2、编写一个计算梯形面积的程序。要求梯形的上底、下底和高在定义变量时直接赋值。

3、编写计算一个学生三门课平均成绩的程序,要求学生成绩从键盘输入。

4、编写一个能输出一下信息的程序(含*号)。 ********************************* 江苏科技大学欢迎您! *********************************

第2讲 数据类型、运算符和表达式

第2讲单元测验

1、下列不是C++语言基本数据类型的是 ( )。

A、字符型

B、整型

C、浮点型

D、结构体

2、若有x=1,y=2,z=3,则表达式(x

A、1

B、2

C、3

D、0

3、已知x,y为整型,z为实型,ch为字符型,下列表达式合法的是( )。

A、z=(y+x)++

B、x+y=z

C、y=ch+x

D、y=z%x

4、设整型变量a为5,使b不为2的表达式是( )。

A、b = a/2

B、b = 6-(--a)

C、b=a%2

D、b=a>3?2:1

5、下列语句不具有赋值功能的是( )

A、a*=b

B、x=1

C、a+b

D、a++

6、在C++语言中,要求参加运算的数必须是整数的运算符是( )。

A、/

B、*

C、%

D、=

7、执行 x=(6*7%8+9)/5; 后,x的值为( )

A、1

B、2

C、3

D、4

8、以下能正确定义整型变量a、b、c并为其赋初值5的语句是( )

A、int a=b=c=5;

B、int a,b, c=5;

C、int a=5,b=5,c=5;

D、a=b=c=5;

9、描述正确的是 。

A、在C++中,程序中有且只能有一个Main()函数。

B、C++程序的每行中只能写一条语句。

C、C++中没有专门的输入/输出语句,通过输入/输出流实现。

D、C++中没有专门的输入/输入函数。

10、以下常量的定义,合法的是 。

A、const double i=e-0.5

B、const char c=”a”

C、const char ch=’\128’

D、#define M 5.5

11、已知int a=0,b=4,k=2; k=a+1>0||(++a<0)&&(!(b--<=0));

A、1,1,3

B、1,1,4

C、1,0,3

D、1,0,4

12、设有说明int a,b; 执行语句b=(a=3*5,a*4);之后,a,b的值分别是 。

A、15,15

B、60,60

C、60,15

D、15,60

13、在C++语言中,所有算术运算符的优先级都相同。

14、'b'和"b"是不同的两种常量。

15、一般情况下,目数越多,优先级越高。

16、表达式 a*b>0 可以表示“a和b同时为正或同时为负”

17、若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是( )。

18、表达式10!=9 的值是( )。

19、若已定义int x=1,y=1; 则表达式x--&&y--的值是( )

20、字符串常量"123"在内存中的字节数是( )。

21、已有定义int x=3 ; 则表达式x=x+1.78的值是( )

22、当a=3,b=2,c=1时,表达式f=a>b>c的值是( )

23、已知enum color{red, yellow, blue=4, green=7,black=blue+2}; cout<

第2讲单元作业

1、编写程序,从键盘输入一个两位正整数,输出它的十位数与个位数。

2、任意输入3个整数数据,输出它们中最小的一个数。

3、将"fly"译成密码"iob"。编码规律:将字母a变成字母d,即变成其后的第3个字母,x变成a,y变成b, z变成c。

第3讲 选择结构

第3讲 单元测验

1、若给定条件表达式(M)?(a++):(a--),则其中表达式M( )。

A、和(M==0)等价

B、和(M==1)等价

C、和(M!=0)等价

D、和(M!=1)等价

2、C语言中用于结构化程序设计的3种基本结构是( )

A、顺序结构、选择结构、循环结构

B、if,switch,break

C、for,while,do-while

D、if,for,continue

3、假设有定义 int x=1,y=0,a=0,b=0; 则执行以下程序段后,a、b的值为( )。 switch(x) { case 1: switch(y) { case 0:a++;break; case 1:b++;break; } //注意后面没有break case 2: a++;b++;break; case 3: a++;b++; }

A、a=l,b=0

B、a=2,b=1

C、a=1,b=l

D、a=2,b=2

4、假设有定义 int i=0,j=0,a=6;则执行以下语句后,各变量的值依次为( ) if((++i>0)||(++j>0))a++;

A、i=0,j=0,a=6

B、i=l;j=1;a=7

C、i=1,j=0,a=7

D、i=0;j=1,a=7

5、关于switch语句描述正确的是( )。

A、switch语句中default子句可能没有,也可能有一个

B、switch语句的每个语句序列中必须有break语句

C、switch语句中的case后面可以是一个关系表达式

D、switch语句中switch后面的表达式可以是实型

6、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是( )。 if(x>y) z=x; x=y; y=z;

A、x=10,y=20,z=30

B、x=20,y=30,z=30

C、x=20,y=30,z=10

D、x=20,y=30,z=20

7、以下if语句语法正确的是( )。

A、if(x>0) cout<

B、if(x>0) { x=x+y; cout<

C、if(x>0) { x=x+y; cout<

D、if(x>0) { x=x+y; cout<

8、当a=1,b=2,c=4,d=3时,执行完下面一段程序后x的值是( )。 if(a

A、1

B、2

C、3

D、4

9、下列关于选择结构中if语句的表述不正确的是 。

A、当有多条内嵌语句时,必须把多条内嵌语句用花括号括起来,表示逻辑上的统一。

B、双选if…else语句的特点是必定选择二者中之一的内嵌语句来执行。

C、if语句的嵌套,同一个块中,else总是与其前面的最靠近它的未经配对的if配对。

D、if语句中条件表达式为假时,执行内嵌语句,否则跳过if语句。

10、一个switch语句必须包含一个default语句。( )

11、在C程序中,if语句中不能嵌套switch语句。 ( )

12、空语句是合法的C语句。

13、C语言中规定,if语句的嵌套结构中,else总是无条件地和最近的if配对。

14、C语言中规定,if表达式后面的语句可以是复合语句。

15、假设有定义int a=2,b=-1,c=2; 则执行以下程序段后c的值为( )。 if(a

16、假设有定义int m=5; 则执行以下程序段的输出结果是( ) if(m++>5) cout<

17、假设有定义int year,flag; ,其中year代表年份,flag代表是否为闰年的判断,取1代表闰年,取0代表非闰年,则以下关于闰年判断程序段中的空白处应为( ) if(year%400==0) flag=1; else if(____________________) flag=1; else flag=0;

第3讲 单元作业

1、以下程序的功能是求两个非0整数相除的商和余数。程序有几处错误,试找出它们加以修改,并上机验证修改结果。 #include "iostream" using namespace std; int main() {int x,y,r1,r2; cin>>x>>y; if(x=0||y=0) cout<y) r1=x/y; r2=x%y; else r1=y/x; r2=y%x; } cout<

2、判断某一年是否为闰年。 算法:若某年份是闰年,则该年份不能被400整除,或能被4整除但不能被100整除(

3、编一模拟袖珍计算器的完整程序,运行结果见图。要求:输入两个操作数和一个操作符,根据操作符决定所做的运算。

48697.html 提示:根据存放操作符的字符变量,利用switch语句实现。

第4讲 循环结构

第4讲 单元测验

1、若k为整型,以下while循环体中的语句执行( )。 k=2; while(k=0) { cout<

A、无限次

B、0次

C、1次

D、2次

2、假设有定义 int i,j,k=0,m=0;则执行以下程序段后k和m的值分别为( ) for(i=0;i<2;i++) { for(j=0;j<3;j++) k++; k-=j; } m=i+j;

A、k=0,m=3

B、k=0,m=5

C、k=l,m=3

D、k=l,m=5

3、下列关于break语句描述错误的是( )。

A、break语句可用于循环体内,它将退出该重循环

B、break语句可用于switch语句中,它将退出switch语句

C、break语句可用于if体内,它将退出if语句

D、break语句只能用于循环语句和switch语句中

4、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是 for (i=5;i;i--) for (j=0;j<4;j++){...}

A、20

B、25

C、24

D、30

5、语句while(!e);中的条件 !e 等价于( )。

A、e==0

B、e!=1

C、e!=0

D、~e

6、以下程序段( )。 int x=-1; do { x=x*x; } while (!x);

A、是死循环

B、循环执行二次

C、循环执行一次

D、有语法错误

7、下面有关for循环的正确描述是( )。

A、for循环只能用于循环次数已经确定的情况

B、for循环是先执行循环体语句,后判定表达式

C、在for循环中,不能用break语句跳出循环体

D、for循环体语句中,可以包含多条语句,但要用花括号括起来

8、continue语句的作用是结束整个循环的执行

9、假设有定义 int i=100; 则以下循环是死循环。 while (1) { i=i%100+1; if (i>100) break; }

10、do-while的循环体至少无条件执行一次

11、do-while 的循环体不能是复合语句

12、只能在循环体内和switch语句体内使用break语句

13、假设有定义 int s=0,i=1; 则退出以下循环后i的值为( )。 while (s<=10) { s=s+i*i; i++; }

14、执行以下程序段后,i的值为( ) int i=1,s=3; do { s+=i++; if (s%7==0) continue; else ++i; } while (s<15);

15、假设有定义int n=0; 则退出以下循环后n的值为( )。 while(n++<3);

第4讲 单元作业

1、以下程序求20以内的奇数和。程序有几处错误,试找出它们加以修改,并上机验证修改结果。#include "iostream" using namespace std; int main() { int n,sum; for(n=1; ;n+=2); sum=sum+n; if(n==20) break; cout<

2、编写程序将一个十进制整数按倒序形式输出。即若输入156,则输出651。

3、编一程序,显示出所有的水仙花数。所谓水仙花数,是指一个3位数,其各位数字立方和等于该数字本身。

4、设计一个程序,求100~1000之间的所有素数,且按每行5个数输出。

第5讲 一维数组

第5讲 单元测验

1、执行下面的程序段后,变量k中的值为( )。 int k=3, s[2]; s[0]=k; k=s[1]*10;

A、不定值

B、33

C、30

D、1

2、对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};

A、将5个初值依次赋给a[1]至a[5]

B、将5个初值依次赋给a[0]至a[4]

C、将5个初值依次赋给a[6]至a[10]

D、因为数组长度与初值的个数不相同,所以此语句不正确

3、假定int类型变量占用4个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是( )

A、3

B、12

C、10

D、40

4、以下定义语句中,错误的是( )。

A、int a[]={1,2};

B、int a[5]={1,2};

C、int n=2, a[n]={1,2};

D、int a[2]={1,2};

5、以下对一维数组a进行正确初始化的是( )。

A、int a[5]=(0,0,0,0,0);

B、int a[5]=1,2,3,4,5;

C、int a[5]={0};

D、int a[5]={1,2,3,4,5,6};

6、假设有定义int i,x[9]={9,8,7,6,5,4,3,2,1};则执行以下程序段后输出( )。 for(i=0;i<4;i+=2) cout<

A、5 2

B、5 1

C、5 3

D、9 7

7、如有定义语句int a[ ]={1,8,2,8,3,8,4,8,5,8}; , 则数组a的大小是( )。

A、10

B、11

C、不确定

D、有语法错误

8、有如下说明: int a[10]={0,1,2,3,4,5,6,7,8,9}; 则数值不为9的表达式是( )。

A、a[10-1]

B、a[8]

C、a[9]

D、a[9]-a[0]

9、使用数值型数组时,不可以一次引用整个数组,只能逐个引用元素。

10、数组的起始下标是从1开始的。

11、可以通过赋值运算符“=”给两个数组间整体赋值。

12、C++语言中,数组名是一个常量,是数组首元素的内存地址,可以重新赋值。

13、C++语言中,数组元素在内存中是顺序存放的,它们的地址是连续的。

14、在C++语言中,引用数组元素时,其数组下标的数据类型是( )

15、假设有定义 int a[10]={1,3,5,7}; ,则7是元素( )的值。

16、数组名是一个地址( ),由系统自动为其分配,不能人为修改,代表了数组在内存中存放的首地址。(提示:填“常量”或“变量”)

第5讲 单元作业

1、假设数组数据为3,5,7,9,8,求它们的最大值、最小值、平均值,并显示整个数组的值和结果。

2、键盘输入10个整数,按照从大到小的顺序排序,分别显示排序前和排序后的结果。

3、假设有10个整数,使数组元素右移2位,移出的元素再从左移入。如,假设原来的数组元素依次为:1 2 3 4 5 6 7 8 9 10,则右移2位后的数组元素依次为:9 10 1 2 3 4 5 6 7 8

4、编一个程序,输入一个字符串,将其倒序存放后输出。例如,假设原数组a的内容为“VISUAL C++PROGRAM”,倒序后数组a中的内容为“MAGORP++C LASUIV”。 要求:不能借助另外一个数组实现倒序存放。

第6讲 二维数组、字符数组

第6讲 单元测验

1、若有说明 int a[3][4];则a数组元素的非法引用是( )。

A、a[0][2*1]

B、a[4-2][0]

C、a[0][4-2]

D、a[0][4]

2、假设有定义:int k,a[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输出结果是 for(k=0;k<3;k++) cout<

A、753

B、951

C、963

D、741

3、已知:char a[15],b[15]={"I love china"};则能将字符串I love china赋给数组a的正确语句是( )

A、a="I love china";

B、strcpy(b,a);

C、a=b;

D、strcpy(a,b);

4、以下不正确的定义语句是( )。

A、double x[5]={2.0,4.0,6.0,8.0,10.0};

B、int y[5]={0,1,3,5,7,9};

C、char c1[ ]={′1′,′2′,′3′,′4′,′5′};

D、char c2[ ]={ "12345"};

5、以下能对二维数组c进行正确的初始化的语句是( )。

A、int c[3][ ]={{3},{3},{4}};

B、int c[ ][3]={{3},{3},{4}};

C、int c[3][2]={{3},{3},{4},{5}};

D、int c[ ][3]={{3},{0,1,1,2},{3}};

6、下述对C++语言字符数组的描述中错误的是( )。

A、字符数组的下标从0开始

B、字符数组中的字符串可以进行整体输入/输出

C、可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

D、字符数组可以存放字符串

7、有如下定义语句:int aa[ ][3]={12,23,34,4,5,6,78,89,45};,则45在数组aa中的行列坐标各为( )。

A、3,2

B、3,1

C、2,2

D、2,1

8、若有定义char a[ ]="toyou", b[ ]={′t′,′o′,′y′,′o′,′u′};则正确的描述是 ( )。

A、a数组和b数组的长度相同

B、a数组长度小于b数组长度

C、a数组长度大于b数组长度

D、a数组等价于b数组

9、如对数组的初始化为:int s[2][2]={1};,则数组s每个元素的值均为1

10、二维数组中元素存放顺序是:先存放第一行的元素,再存放第二行的元素,依次类推。

11、若有定义char str[20]="\tGood\t",则strlen(str)的值为7。

12、假设有定义char str1[20]="abcde",t[20];,则可以通过语句t=s;将字符串s的内容复制到字符串t。

13、若二维数组a有m列,则计算任一元素a[i][j]在数组中的序号为( )。 (假设a[0][0]的序号为0)

14、已知char a[20]= "abc",b[20]= "defghi";则执行cout<

15、设有数组定义 char array[]="China"; 则数组 array所占的空间为( )个字节。

第7讲 指针和数组

第7讲 单元测验

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[10]

2、假设有定义 int a=3,b=5,*pa=&a,*pb=&b;则执行如下语句后,a,b的值分别为( ) *pa=a+b; *pb=a+b;

A、a=13,b=13

B、a=8,b=8

C、a=8,b=13

D、出错

3、有说明 int a[10]=[1,2,3,4,5,6,7,8,9,10},*p=a;,则数值为9的表达式是( )。

A、*(p+9)

B、*(p+8)

C、*p+=9

D、*p+=9

4、若有说明语句"int a[10],*p=a;",对数组元素的正确引用是( )

A、a[p]

B、p[a]

C、*(p+2)

D、p+2

5、下列各语句行中,能正确进行赋字符串操作的语句是( )

A、char s[5]={"ABCDE"};

B、char s[5]={'A' ,'B','C','D','E'};

C、char *s; s="ABCDE";

D、char *s; *s="ABCDE";

6、执行char a[10]={"abcd"},*p=a;后,*(p+4)的值是( )

A、"abcd"

B、'd'

C、'\0'

D、不能确定

7、若有char *a="ABCD";,则执行cout<

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值