admin 管理员组

文章数量: 887021


2024年1月25日发(作者:deletecontact翻译)

程序设计基础理论练习题1

(C的基础知识)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

A

2

B

3

A

4

D

5

C

编译

cpp

字母

函数

链接

obj

数字

答案

exe

下划线

主函数(或main函数)

一、填空题:

1. C++的源程序必须通过【】和【】后,才能被计算机执行。

2. C++的源程序文件的后缀是【】,经过编译后,生成文件的后缀是【】;经过链接后,生成文件的后缀是【】。

3. C++的源程序由若干函数组成,其中至少应包含有一个【】。

4. C++中的标识符只能由3种字符组成,它们是【】、【】、【】。

5. C++的源程序的基本单位是【】。

二、单选题:

1. 以下标识符中合法的是()

A)Tom B)-aeb C)6a7b D)$1Ec

2.以下关于C++用户标识符的叙述中正确的是()

A)用户标识符中可以出现下划线和中划线(减号)

B)用户标识符中不可以出现中划线,但可以出现下划线

C)用户标识符中可以出现下划线,但不可以出现在标识符的开头

D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头

3. 一个C++程序总是从()开始执行的。

A) main()函数 B) 文件中的第一个函数

C) 文件中的第一个子函数调用 D) 文件中的第一条语句

4.要把高级语言编写的程序转换为目标程序,需要使用()

A) 编辑程序 B) 驱动程序 C) 诊断程序 D)编译程序

5. 下面4个选项中,均是不合法的用户标识符的是()

A) A, P_0, Do B) float, lao, _A

C) b-a, goto, int D) _123, temp, INT

程序设计基础理论练习题2

(常量、变量及表达式)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

A

2

D

3

D

4

D

5

B

63

float

变量

f

2

73

double

答案

171

char

一.填空题:

1. 若采用十进制的表示形式,则077为【】,0111为【】,0Xab为【】。

2. C++的源程序中,用关键字【】定义单精度实型变量,用关键字定义双精度实型变量,用关键字【】定义字符型变量。

3. 运算符++和――的运算量必须是【】。

4. 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch =’a’+’8’-‘3’的值为【】。

5. 若a是int型变量,则执行表达式a=25/3%3后a的值为【】。

二.单选题:

1.在C++中,要求运算数必须是整型的运算符是( )。

A)% B)/ C)< D)!

2.设int a=12,则表达式a+=a-=a*a求值后a的值是( )。

A)552 B)264 C)144 D)-264

3.已知大写字母B的ASCII码是66,小写字母a的ASCII码是97,则用八进制表示的字符常量’111’是( )。

A)字符‘A’ B)字符‘a’ C)非法的常量 D)字符‘I’

4.以下合法的字符常量是( )。

A)“f” B)x C)65 D)’x61’

5.与表达式x<=0等价的是( )。

A)x>0 B)!(x>0) C)x>=0 D)!(x>=0)

程序设计基础理论练习题3

(顺序结构语句)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

C

2

A

3

A

4

C

5

D

1

t=a

复合语句

定义

顺序结构

c=t

一个语句

使用

选择结构

答案

循环结构

一.填空题:

1. 若有语句:int a=3,b=4,c=5;,则表达式!(a+b)+c-1&&b+c/2的值为【】。

2.假设变量a、b和c均为整型,以下语句借助中间变量t把a、b和c中的值进行交换,即:把b中的值给a,把c中的值给b, 把a中的值给c。请填空:【】;a=b;b=c;;【】;

3. 花括号括起来的一个语句序列称为【】语句,该语句序列在语法上等同于【】语句。

4. 声明语句(即定义语句),一般用来定义变量,变量必须先【】,后【】。

5. 结构化程序设计的三种基本结构分别是【】结构、【】结构、【】结构。

二.单选题:

1.以下语句中,哪条语句的格式不符合C++程序的书写规则( )

A) int a; B)a+=5; C)int a=5、b=10; D)#include

2.以下叙述中正确的是( )

A)C++程序中注释部分可以出现在程序中的任意合适的地方

B)花括号“{”和“}”只能作为函数体的定界符

C)构成C++程序的基本单位是函数,所有函数名都可以由用户命名

D)分号是C语句之间的分隔符,不是语句的一部分

3.以下程序段的输出结果是( )。

int a,b,c=246;

a=c/100%9;

b=1&&1;

cout<

A)2,1 B)3,2 C)4,3 D)2,-1

4.以下程序段的输出结果是( )。

int a=5,b=4,c=6,d;

cout<<(d=a>b?(a>c?a:c):b);

A)5 B)4 C)6 D)不确定

5.若有以下定义:

char a;int b;float c;double d;则表达式a*b+d-c的值的类型为()。

A)float B)int C)char D)double

程序设计基础理论练习题4

(选择结构语句)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

A

2

C

3

A

4

A

&&

1

互不相同

非0

跳出开关语句

||

0

答案

!

一.填空题:

1. C语言提供的3种逻辑运算符是【】、【】、【】。

2.在C++中,表示逻辑“真”值用【】。

3. 开关语句(多分支选择语句)中,case后面的常量表达式必须【】。

4. 判断if语句的条件为真或假的依据是:【】为真,【】为假。

5. 开关语句中,break语句用于【】。

二.单选题:

1. switch语句中,switch后面圆括号中的表达式的类型可以是( )。

A)可以是整型或字符型 B)只能是int类型

C) 只能是字符型 D)只能是整型或实型

2.若从键盘输入83,则以下程序的输出结果是( )。

#include

void main()

{int a; cin>>a;

if(a>60)cout<< a;if(a>70)cout<< a;if(a>80)cout<< a;}

A)83 B)8383 C) D)无任何输出

3.以下程序段运行后x的值为( )。

int a=0, x=35;

if(!a) x--;

else x=6;

cout<

A)34 B)6 C)35 D)0

4.写出以下程序段运行结果。

{int x=1,a=0,b=0;

switch(x){case 0:b++;case 1:a++;case 2:a++;b++;}

cout<<”a=”<

A)a=2 b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2

程序设计基础理论练习题5

(循环结构语句)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

C

2

B

3

C

4

C

5

A

while

while、for

非0

分号(或;)

for

答案

do while

do while

0

for

一.填空题:

1. 常用的三种循环语句分别是:【】循环、【】循环、【】循环。

2. 先判断条件,再执行循环的循环语句有【】。先执行循环后判断条件的循环有【】。

3. 循环条件的判断是以【】为真;【】为假。

4. do while循环中,while后面的【】不能丢,它表示do while循环的结束。

5. 循环语句中,【】循环语句最灵活,功能最强。

二.单选题:

1.设有程序段: int k=10;

while(k=0) k=k-1; 则下面描述中正确的是()

A)while循环执行10次 B)循环是无限循环

C) 循环体语句一次也不执行 D)循环体语句执行一次

2.以下程序段的输出结果是( )。

#include

main()

{int i=0,sum=1;

do{ sum+=i++;} while(i<3);

cout<

A)3 B)4 C)5 D)6

3.以下程序的输出结果是( )。

#include

void main()

{ int i,sum=0;

for(i=1;i<=3;sum++) sum+=i; cout<

A)6 B)3 C)死循环 D)0

4. for语句的表达式可以部分或全部省略,但两个()不可省略。

A)< B)++ C); D),

5. 语句while(!e)中的!e等价于()

A)e==0 B)e!=1 C)e!=0 D)e!==e

程序设计基础理论练习题6

(多重循环)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

B

2

B

循环

switch

本次循环

可以

循环体

循环

本层循环

可以

答案

一.填空题:

1. continue语句可以用于【】结构中。

2. break语句可以用于【】和【】结构中。

3. continue语句与break语句的不同之处在于:continue用于退出【】,break用于退出【】。

4. while、do while、for语句【】(填可以/不可以)自行嵌套,【】(填可以/不可以)相互嵌套。

5. 循环的嵌套中,内循环实际上是外循环的【】部分。

二.单选题

1. 以下程序的输出结果是()。

#include

void main()

{int i=0,a=0;

while(i<20)

{for(;;)

{if((i%10)==0) break;

else i--;}

i+=11;a+=i;}

cout<

A)21 B)32 C)33 D)11

2.以下程序的输出结果是()。

#include

void main()

{int a,b;

for(a=1,b=1;a<=100;a++)

{ if(b>=20) break;if(b%3==1){b+=3;continue;}b-=5;}

cout<

A)7 B)8 C)9 D)10

程序设计基础理论练习题7

(一维、二维数组)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

D

2

C

3

A

4

A

2

按行存放

0

60

0~9

4

6

答案

一.填空题:

1.若有定义:double x[3][5];,则x数组中行下标的上限为【】。列下标的上限为【】。

2.在C++中,二维数组元素在内存中存放顺序是【】。

3.若有定义;int a[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是【】,a[2][1]得到的初值是【】。

4.已定义:int a[15];,则数组a占用的内存单元数为【】字节。

5.已定义:double w[10];,则数组w的元素下标范围是【】。

二.单选题:

1.以下数组定义中不正确的是( )。

A)int a[2][3] ; B)int b[][3]={0,1,2,3};

C)int c[100][100]={0}; D)int D[3][]={{1,2},{1,2,3},{1,2,3,4}};

2.以下程序段的输出结果是( )。

int i;

int x[3][3]={1,2,3,4,5,6,7,8,9};

for(i=0;i<3;i++) cout<

A)159 B)147 C)357 D)369

3.有以下定义,则此数组的元素中不正确的一个赋值结果是( )。

static int a[10]={1,2,3,4,5};

A)a[2]=2 B)a[0]=1 C)a[3]=4 D)a[7]=0

4.执行下面的程序段后,变量k中的值为( )。

int k=5,a[2];

a[0]=k;k=a[1]*10;

A)不定值 B)33 C)30 D)10

程序设计基础理论练习题8

(字符数组)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

B

2

B

3

B

4

C

5

D

9

6

0

1012

string.h

答案

一.填空题:

1.字符串"abn012""的长度是【】。

2.若有定义“char str[]="China";”,则数组str所占的空间为【】个字节。

3.字符串以【】结束。

4. 设有一数组char a[5][6];,首元素地址为1000,则a[3][4]的地址为【】。

5. 若需使用字符串处理函数,则需包含头文件【】。

二.单选题:

1.不能把字符串“Hello!”赋给数组b的语句是( )。

A)char b[10]={'H','e','l','l','o','!'}; B)char b[10];b="Hello!";

C)char b[10];strcpy(b,"Hello!"); D)char b[10]="Hello!;

2.若有定义“char str1[10],str2[20]=“book”,”,则能将字符串“book”赋给数组str1的正确语句是( )。

A)str1=“book”; B)strcpy(str1,str2);

C)str1=str2; D)strcpy(str2,str1);

3.判断字符串s1和s2是否相等,应当使用( )。

A)if(s1>s2) B)if(strcmp(s1,s2)==0)

C)if(strcmp(s2,s1)>0) D)if(strcmp(s1,s2)>0)

4.若有定义语句:int str[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='e';,则数值为2的表达式是( )。

A)str[‘g’-c] B)str[2]

C)str[‘d’-‘c’] D)str[‘d’-c]

5.以下定义语句中错误的是( )。

A)int a[]={1,2}; B)char a[3];

C)char s[10]="test"; D)int n=5,a[n];

程序设计基础理论练习题9

(函数的定义及调用)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

C

2

D

3

C

4

D

5

C

主函数(或main函数)

答案

void

声明

return[表达式]

实参

调用

形参

一.填空题:

1. C++的源程序由若干函数组成,其中至少应包含有一个【】。

2.函数f无返回值,所以可用【】定义f的函数类型。

3.若一个函数的定义在主调函数之后,则必须先【】,后【】。

4.函数返回语句的一般形式是【】。

5. 函数的参数分为【】和【】。

二.单选题:

1. 有函数原型f(int x=5,float y=5.3 ) ;不合法的调用为()。

A)f() B)f(10) C)f(,8.5) D)f(10,8.5)

2.以下错误的声明格式是( ) 。

A)int fun(int a,int b,int c) B)int fun(int a,int b,int c=10)

C)int fun(int a,int b=5,int c=10) D)int fun(int a,int b=5,int c)

3. 考虑函数原型void test(int a,float b=7.5,char c=’*’),下列函数调用中,属于不合法调用的是()。

A)test(5) B)test(5,6)

C)test(6,’#’) D)test( 0,0,’*’)

4. c程序的基本单位是()。

A) 程序 B) 语句 C) 字符 D) 函数

5. .以下程序的输出结果是( ) 。

#include

int fun(int a,int b,int c){c=a*b;return c;}

void main()

{int c;

c=fun(2,5,6);

cout<

A)0 B)1 C)10 D)输出值不定

程序设计基础理论练习题10

(函数的嵌套调用)

班级 姓名 学号

将答案填入下表中:

填空题:

题号

1

2

3

4

5

单选题:

题号

答案

1

D

2

B

其他函数

任意

主函数

主函数

嵌套

主函数

嵌套

答案

其它函数

一.填空题:

1. 函数的嵌套调用是指一个函数可以被【】调用;也可调用【】。

2. 主函数可以出现在程序的【】位置。

3. 一个C程序一定是先执行【】,最后回到【】结束。

4. 不能被其他函数调用的是【】。

5. 函数不能嵌套【】,但可以【】调用。

二.单选题:

1.以下程序的输出结果是( ) 。

#include

int f()

{ int i=0;

int a=1;

a+=i; i++;

return a;}

void main()

{int i,s=0;

for(i=0;i<5;i++) s+=f();

cout<

A)20 B)24 C)25 D)5

2.以下程序的输出结果是( ) 。

#include

long fib(int n)

{if(n>2)

return(fib(n-1)+fib(n-2));

else return 5;}

void main(){cout<

A)2 B)10 C)6 D)8


本文标签: 语句 函数 程序 循环 定义