当前位置:文档之家› C程序设计基础-期中考试试题详解

C程序设计基础-期中考试试题详解

C程序设计基础-期中考试试题详解
C程序设计基础-期中考试试题详解

《C程序设计基础及实验》课程期中考试试卷参考答案

试题一、单选题(每小题2分,共20分)

1. 以下正确的字符常量是______。

A.?\412?B.255 C.?\08?D.?\?

【解答】

A.八进制412超出了8位二进制所能表示的范围03ff;

B.255是一个合法的整数,可以表示一个字节的值;

C. 8不是一个合法的八进制数字;

D. \是转义字符,\?表示单个单引号字符本身,所以。字符常量缺少右单引号。

2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则x 和y 的值分别为______。

A.1.5 1.6 B.1.6 1.6 C.1.5 1.5 D.1.6 1.5

【解答】

16/5/2.0 → (16/5)/2.0 → 3/2.0 → 1.5

16/5.0/2 → (16/5.0)/2 → 3.2/2 → 1.6

3. 下列语句中,_____ 将输出%d。

A.printf(“%d”); B.printf(“%%d”); C.printf(“\%d”); D.printf(“%%%d”)

【解答】

A.%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;

B.%%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;

C.\%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;

D.%%表示输出符号%本身,%d表示输出十进制整型值。

4. 下列程序段输出结果为_____。

int x=1, y=012;

printf(“%d”,y*x++);

A.12 B.10 C.20 D.24

【解答】

x++表达式的值是1,y*x++ → y*1 → y → 012 → 10

5. 下列程序段输出结果为_____。

int a=1,b=2,c=2,t;

while(a

《C程序设计基础及实验》期中考试试卷, 2012年11月23日 1 / 10

《C 程序设计基础及实验》期中考试试卷, 2012年11月23日 2 / 10

printf(“%d,%d,%d”,a,b,c);

A .1,2,0

B .2,1,0

C .1,2,1

D .2,1,1

【解答】

a=1,b=2,c=2

(1) 表达式a

(2) 表达式a

(3) 表达式a

6. 在下图中,阴影部分区域可用表达式_______来表示。

X

a b c

A .(x<=a)&&(x>=b)&&(x<=c)

B .(x<=a)||(b<=x<=c)

C .(x<=a)||(x>=b)&&(x<=c)

D .(x<=a)&&(b<=x<=c)

【解答】

(x<=a )|| ((x >=b) && (x <= c)) → (x<=a )|| (x>=b) && (x <= c)

7. 下列程序段输出结果为 _____。

int x = -3, y = 2;

if(x>y);

x = -x;

if(x

y = -y;

printf("x=%d,y=%d\n", x, y);

A .x=3,y=-2

B .x=3,y=2

C .x=-3,y=2

D .x=-3,y=-2

【解答】x=3,y=2;

请注意:if(x>y);

8. 对于循环while(!e) 语句,!e 等价于_____。

A .e==0

B .e!=0

C .e==1;

D .e!=1

【解答】

9. 循环 for(i=0, j=5; ++i!=--j; ) printf(“%d %d”, i, j); 将执行_____。

A.6次B.3次C.0次D.无限次

【解答】

(1) i=0, j=5: ++i → 1 , --j → 4, i=1,j=4, 1 != 4成立;打印;i=1, j=4;

(2) i=1,j=4: ++I → 2 , --j → 3, i=2,j=3, 2 != 3成立;打印;i=2, j=3;

(3) i=2,j=3: ++I → 3, --j → 2, I = 3, j=2, 3 != 2成立;打印;i=3,j=2;

(4) ……

10. 下列程序段执行后s值为_____。

int i=5, s=0;

do if (i%2) continue; else s+=i; while (--i);

A.15 B.9 C.6 D.以上均不是

【解答】

(1) I=5,s=0: i%2→5%2→1成立:continue;--i→4, i=4;

(2) I=4,s=0: i%2→4%2→0不成立:s=0+4=4;--i→3, i=3

(3) I=3,s=4: i%2→3%2→1成立:continue;--i→2, i=2

(4) I=2,s=4: i%2→2%2→0不成立:s=4+2=6; --i→1,i=1

(5) I=1,s=6: i%2→1%2→1成立:continue;--i→ 0

试题二、填空题(每小题2分,共20分)

1. 表达式1+4/5+15<7+4%5+(8,10) 的值为_____。

【解答】

1+(4/5)+15<7+4%5+(8,10)

→ 1+0+15<7+4%5+(8,10)

→1+15<7+4%5+(8,10)

→16<7+4%5+(8,10)

→16<7+4+(8,10)

→16<11+(8,10)

→16<11+10

→16<21

→1

2. 表达式!!5 的值为_____。

【解答】

!!5 → !(!5) →!0→1

3. 表达式~(10<<1)&4 的值为______。

《C程序设计基础及实验》期中考试试卷, 2012年11月23日 3 / 10

【解答】

10: 00001010

10<<1: 00010100

~(10<<1): 11101011

4: 00000100

&----------------------------------

00000000 即0

4. 假设有定义:int x=10;则表达式0<=x<=9 的值为_____。

【解答】

0<=x<=9 → (0<=x)<=9 → (0<=10) <=9 → 1 <= 9 → 1

5. 下列for循环语句将输出: 0 1 2 0 1 2 0 1 2.

for( i=1; i<=9; i++ ) printf("%2d", _______);

【解答】(i-1)%3

6. 对于定义: int m=5, y=2; 当计算表达式y+=y-=m*=y后,y的值为_____。

【解答】

y+=y-=m*=y ? y += (y -= (m *=y))

先计算m*=y: 由于m=5, y=2, 所以:m=m*y=5*2→10

再计算y-=10: 由于y=2,所以:y = y-10=2-10→ -8

最后计算y += -8: 由于y=-8,所以:y = y+(-8)=(-8)+(-8)→-16

7. 对于char c; 若已知其值为小写字母, 则将其转换为相应大写字母的表达式为_____。

【解答】

c-…a?+?A?

8. 下列语句的输出结果为_____。

printf("%d#%x#", 027, 27);

【解答】

23#1b#

9. 已知字符?a?的ASCII码为97,则下列语句的输出结果为_____。

printf("%c#%d#",98,?c?);

《C程序设计基础及实验》期中考试试卷, 2012年11月23日 4 / 10

【解答】

b#99#

10. 下列程序段将输出_____。

unsigned char x=255,y=?\1?;

switch(!!x) {

case 0: printf("*0*#");break;

case 1:

switch(y) {

case 0: printf("*1*#");break;

case 1: printf("*2*#");break;

}

default: printf("*3*#");

}

【解答】

*2*#*3*#

试题三、程序阅读题(每小题6分,共30分)

1. 下列程序将输出_____。

#include

void swap(int x, int y)

{

int t;

t=x; x=y; y=t;

return;

}

void main(void)

{

int a=3, b=2;

swap(a, b);

printf("%d#%d#", a, b);

return;

}

【解答】

3#2#

《C程序设计基础及实验》期中考试试卷, 2012年11月23日 5 / 10

注:尽管在函数swap()里,形参x和y的值发生了交换,但根据函数参数的传递原则——“实参向形参单向传值(即x向a赋值,y向b赋值),形参的改变不影响实参”,实参变量a和b的值未发生交换!

2. 下列程序将输出_____。

# include

int s;

int f(int m)

{

static int k=0;

for(; k<=m; k++) s++;

return s;

}

void main(void )

{

int s=1;

s=f(2)+f(2);

printf("%d#%d#", s, f(20));

return;

}

【解答】输出结果为:6#21#

注:(1)全局变量s的初始值为0;

(2)在f函数中,s是全局变量有效,而在main函数中,s是局部变量有效;

(3)在f函数中,k是静态变量,每次函数f调用结束后,其内存单元和值仍然保留。

3. 若输入:1273 <回车>,以下程序的输出结果是_______。

#include

void main(void)

{

int n, m;

scanf(“%d”, &n);

m=0;

while (n>0) {

m=m*10+n%10;

n/=10;

}

《C程序设计基础及实验》期中考试试卷, 2012年11月23日 6 / 10

printf(“%d”, m);

return;

}

【解答】输出结果是:3721

4. 若输入-6+15*3/5=<回车> , 以下程序的输出结果是_______。

#include

void main()

{

int m=0, sum=0;

char c, oldc='+';

do {

c=getchar();

if(c<='9'&&c>='0')

m=10*m+c - '0';

else {

if(oldc=='+')

sum += m;

else

sum -= m;

m=0;

oldc=c;

printf("%d#", sum);

}

} while(c!='=');

return;

}

【解答】0#-6#9#6#1#

程序的意思:对输入的字符串扫描,若碰到数字字符序列,求出相应的整数值m;若碰到其它字符——若字符是+号,则将m值加入到sum中去;若字符不是+号,则将从sum中减去m值。

5. 若输入:how are you? <回车>,以下程序的输出结果是_______。

#include

void main(void )

{

int word;

char ch;

《C程序设计基础及实验》期中考试试卷, 2012年11月23日7 / 10

word=0;

while((ch=getchar())!='?'){

if(ch==' ') word=0;

else if(word==0){

word=1;

if(ch<='z'&&ch>='a') ch=ch-'a'+'A';

}

putchar(ch);

}

return;

}

【解答】How Are You

该程序思路:碰到一个新单词,则将该单词首字母从小写改为大写,其它字符原样输出。

提示:可借鉴统计单词个数程序的算法。

试题四、程序填空题(每空2分,共30分)

1.输入正整数n,计算s = 1/1! + 1/2! + 1/3! + ……+ 1/n!的值。

#include

void main( void)

{

int j, k, n;

double f, s;

scanf("%d", &n);

(1); s=0.0

for (k=1 ; k<=n; k++){

(2); f=1.0

for(j=1; (3); j++) j<=k

(4); f=f*j

s=s+1.0/f;

}

printf("sum=%f\n", (5)); s

return;

}

2.输入一个整数,统计该数的位数。如:输入12534,输出5;输入-99,输出2;输入0,输出1。

#include

void main(void)

《C程序设计基础及实验》期中考试试卷, 2012年11月23日8 / 10

{

int count=0, number;

scanf(“%d”, (6)); &number

if (number < 0) number = (7); -number

do {

number = (8); number/10

count++;

} while ( (9)); number!=0

printf(“%d\n”, count);

return;

}

3.下面程序验证“哥德巴赫猜想”:寻找3到1000间满足“偶数=素数1+素数2”(如10=3+7)的所有偶数。素数指只能被1和自身整除的正整数,如2,3,17等;1不是素数。

#include

void main(void)

{

int i, j;

(10); /*prime()函数声明*/ int prime(int n)

for (i=3 ; i<=500; i++)

for (j=2; ; j++)

if ( (11)) { prime(j)==1 && prime(2*i-j)==1

printf(“%d = %d +%d\n”, 2*i, j, 2*i-j); /*若2*i为两个素数之和*/

break;

}

(12); return

}

int prime(int n) /* 判断n是否为素数:是返回1,不是返回0 */

{

int i;

if (n==1)

return (13); 0

for (i=2; i<=n/2; i++)

if ( (14)) n%i==0

return 0;

return (15); 1

}

《C程序设计基础及实验》期中考试试卷, 2012年11月23日9 / 10

《C程序设计基础及实验》期中考试试卷, 2012年11月23日10 / 10

C语言期中测试题(含答案)

一、填空 1.C 语言源程序文件的后缀是.c 。 2.结构化程序由顺序结构、选择结构、循环结构三种基本结构组成。 3.在C 语言中,用关键字int 定义基本整型变量,一个基本整型变量系统分配2字节,用关键字 float 定义单精度实型变量,一个单精度实型变量系统分配4字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配8字节。 二、选择 1. 以下选项中正确的实型常量是( A ) A .12. B .-20 C . 1,000 D . 4 5 6 2.以下选项中不正确的实型常量是(无正确答案) A . 2.607E-1 B .0.8103e2 C . -77.77 D . 456e-2 3.以下选项中不合法的用户标示符是( C ) A. _123 B .A12_1 C .A $ D .Dim 4.C 语言中运算对象必须是整型的运算符是( A ) A .% B ./ C .! D .* 5. 若变量已正确定义并赋值,符合C 语言语法的表达式是( B ) A .a=a+7; B .a=7+b+c,a++ C .int(12.3%4) D .a=a+7=c+b 6.下面合法的赋值语句是( C ) A .a=b=58 B .k=int(a+b) C . a=58,b=58 D .--i 7.若变量已正确定义为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) 8.若变量a,b,t 已正确定义,要将a 和b 中的数进行交换,以下选项中不正确的语句组是( C ) A .a=a+b,b=a-b,a=a-b; B . t=a,a=b,b=t; C .a=t;t=b;b=a D .t=b;b=a;a=t; 9.若有正确定义语句: double x=5.16894; 语句printf(“%f\n ”,(int)(x*1000+0.5)/(double)1000);的输出结果是( D ) A .输出格式说明与输出项不匹配,输出无定值 B .5.170000 C .5.168000! D .5.169000 10.若有以下程序段: int a=0,b=0,c=0; c=(a-=a-5),(a=b,b+3); printf(“%d,%d,%d\\n ”,a,b,c); 执行后的输出结果是( B ) A .3,0,-10 B .0,0,5 C .-10,3,-10 D .3,0,3 11.下列运算符中优先级别最高的是( A ) A .! B .% C .-= D .&& 12.为表示关系:z y x ≥≥,应使用的C 语言表达式是(A ) A .(x>=y)&&(y>=z) B .(x>=y)AND(y>=x) C .(x>=y>=z) D .(x>=y)&(y>=z) 13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是

C语言期末考试试题

C语言试题1 一填空题(15分) 1.设x的值为15,n的值为2,则表达式x%=(n+=3)运算后,x的值为()。 2.设int a=7,b=9,t;执行完表达式t=(a>b)?a:b后,t的值是()。 3.下面程序段的输出结果是()。 int a=1234; a=a&0377; printf(“%d %o\n”,a,a); 4.a数组定义如下,按照内存排列顺序,a数组中的所有元素是()。 char a[3]; 5.设有以下宏定义,则执行赋值语句a=PP*20;(a为int型变量)后,a的值是()。 #define PR 80 #define PP PR+403 6.在C程序中,可以通过三种运算方式为指针变量赋地址值,它们是:()、()和()。7.在C文件中,数据存在的两种代码形式是()和()。 8.C语言中调用()函数打开文件,调用()函数关闭文件,调用()函数可实现文件的随机读写。 9.若有int a[3]={10,12,30};则a+1是()的地址,*(a+2)=()。 二判断对错(5分,对的划“√”,错的划“×” 1.在Turbo C中,整型数据在内存中占2个字节。() 2.表达式1/4+2.75的值是3。() 3.结构体类型只有一种。() 4.函数若无返回值,则它一定无形参。() 5.C语言只能处理文本文件和二进制文件。() 三选择题(20分) 1.设int a=12; 表达式a+=a-=a*=a的值是()。 A 12 B 144 C 0 D 132 2.以下程序的输出结果是()。 main( ) { int a=011; printf(“%d\n”,++a); } A 12 B 11 C 10 D 9 3.以下程序的输出结果是()。 #define ADD(x) (x)+(x) main() { int a=4,b=6,c=7,d=ADD(a+b)*c; printf(“d=%d”,d); } A d=70 B d=140 C d=280 D d=80 4.下面的选项中正确的赋值语句是(char a[5],*p=a;)()。 A p=“abcd”; B a=“abcd”; C *p=“abcd”; D *a=“abcd”; 5.若k为整形,则while循环执行()次。 k=2; while(k==0) printf(“%d”,k); k--; printf(“\n”); A 10 B 9 C 0 D 1

程序设计基础试题库

练习题一Visual FoxPro 基础 、选择题 1. 关系数据库管理系统应能实现的专门关系运算包括___c __________ A 显示、打印、制表B关联、更新、排序 C 选择、投影、连接D排序、索引、统计 2. 关系是指__b__。 A 属性的集合B元组的集合 C 实例的集合 D 字段的集合 3. 如果把学生看成实体,某个学生的姓名叫“杨波”,则“杨波”应看成是___b ______ 。 A)属性型B )属性值C )记录型D )记录值 4. 关系数据库系统中所使用的数据结构是 _______ d ___ 。 A)图B )树C )表格D )二维表 5. 对表进行水平方向的分割用的运算是 _______ b ___ 。 A)交B )选择C )投影D )连接 6. 下列数据库技术的术语与关系模型的术语的对应关系中_______ d _____ 是正确的。 A)实例与关系 B )字段与元组C )记录与属性 D )记录类型与关系模式 7. 下列关于数据库系统的叙述中,正确的是 _____ c _____ 。 A)数据库系统中数据的一致性是指数据类型一致 B)数据库系统只是比文件系统管理的数据更多 C)数据库系统减少了数据冗余 D数据库系统避免了数据冗余 8. 关系数据模型 ______ d ___ 。 A)只能表示实体间的1:1联系 B)只能表示实体间的1:n C只能表示实体间的m:n D 可以表示实体间的上述三种联系 9. 在一个关系中如果有这样一个属性存在,它的值能惟一地标识关系中的每一个元组,称

这个属性为 _____ a____ 。 A)关键字B )主属性C )数据项D )主属性值 10. 关系数据库管理系统中的元组是______ b ____ 。 A)关系中的垂直方向的列 B )关系中的水平方向的行 C属性或属性的组合 D )以上的答案均不正确 11. 从数据库的整体结构看,数据库系统采用的数据模型有_________ a __ 。 A)层次模型、网状模型和关系模型 B)层次模型、网状模型和环状模型 C)网状模型、链状模型和层次模型 D链状模型、关系模型和层次模型 12. 设有属性A B、C D以下表示中不是关系的是___________ d__。 A)R( A) B )R( A, B)C )R (A, B, C, D) D )R (A X B X C X D) 13. 若实体间联系是M N的,则将联系类型_________ a___ 。 A)也转换为关系模型 B)属性加入任一个关系模式中 C)属性加入N端实体类型相应的关系模式中 D)属性加入M端实体类型相应的关系模式中 14. 数据库系统的构成为数据库、计算机硬件系统、用户和________ a ____ 。 A 数据库管理系统 B 操作系统 C 数据集合 D 文件系统 15. 层次型、网状型和关系型数据库划分原则是________ c ___ 。 A 文件大小 B 记录长度 C 数据之间的联系 D 联系的复杂程度 16. 在数据库设计中用关系模型来表示实体和实体之间的联系,关系模型的结构是 _____ d ___ 。 A 封装结构 B 层次结构 C 网状结构 D 二维表结构 17. 在关系模型中,实现“关系中不允许出现相同的元组”的约束是通过__a ________ 。 A 主键 B 超键 C 外键 D 候选键 18. 层次模型不能直接表示 ______ b __ 关系。 A 1:1 B m:n C 1:m D 1:1 和1:m 19. DBAS旨的是_____ d____ 。

《程序设计基础》试卷B及答案

黄淮学院计算机科学系2007-2008学年度第一学期 期末考试《程序设计基础》B 卷 注意事项:本试卷适用于计科系06级本科计算机科学与技术专业学生。 1.__ ____函数是程序启动时惟一的入口。 2.算法的复杂性包含两方面: 和 。 3.已知 char c= 'a' ; int x=2,k; 执行语句k=c&&x++ ; 则x 为 ,k 为 。 4.数值0x34对应的十进制为 。 5.已知int a ; 则表达式”(a=2*3 , 3*8), a*10”的结果为_ _ ____,变量a 的值为___ ___。 6.面向对象程序开发步骤为: 、 和面向对象实现。 1.下列程序设计语言中( )是面向对象语言。 A. FORTRAN B. C 语言 C. C++ D. 汇编语言 2.下列关于注释的说法哪个是错误的( )。 A. 注释不是程序中的可执行语句 B. 注释对于程序的执行有很重要的意义 C. 注释将在程序的编译阶段被编译器剔除 D. 编程时在程序中添加适当的注释是一个良好的编程风格 3.算法设计应该遵守( )的设计原则。 A. 自底向上,逐步求精 B. 自顶向下,逐步求精 C. 自底向上,同步扩展 D. 自顶向下,同步扩展 4.下列语句执行后a 的值为( )。 int a=4, &z=a, k=3; a=k; z+=2; k++; A. 0 B. 4 C. 1 D. 5 5.以下程序执行后,屏幕输出为( )。 #include “iostream.h ” void fun(int d) {d++;} void main() { int d=3; fun(d); d++; cout<=’a ’)&&(d<=’z ’) B. ‘a ’<=d<=’z ’ C. (d>=’a ’)||(d<=’z ’) D. ‘A ’<=d<=’Z ’ 8.已知:int k=7, x=12; 则执行语句( )后x 的值为0。 A. x+=k-x%5; B. x+=(x-k%5); C. x%=(k-=5); D. (x-=k)-(k+=5); 9.运行下列程序,其输出结果为( )。 #include “iostream.h ” void main() { int x(5),y(5),z(5); y--&&++x&&z--||y++; cout<

《C语言程序设计》期中考试试卷

淮海工学院 10 – 11 学年第 2 学期 C语言程序设计期中考试试卷 单项选择题答题表 题答题表中) 1.以下叙述中正确的是()。 A) C 程序的基本组成单位是语句 B) C 程序中的每一行只能写一条语句 C)简单C 语句必须以分号结束 D) C 语句必须在一行内写完在 2.一个C程序是由____________。 A)一个主程序和若干个子程序构成 B)一个或多个函数构成 C)若干过程组成 D)若干子程序组成 3.以下选项中正确的定义语句是____________。 A)double a; b; B)double a=b=7; C)double a=7, b=7; D)double, a, b; 4.计算机能直接执行的程序是()。 A)C源程序 B)目标程序 C)汇编程序 D)可执行程序 5.下列符号可以作为变量名的是____________。 A)+a B)*p C)_DAY D)next day 6.设c是字符变量,则以下表达式正确的是____________。 A)c=666 B)c='c' C)c="c" D)c="abcd" 7.以下说法正确的是____________。 A)输入项可以为一个实型常量,如scanf("%f", B)只有格式控制没有输入项也能进行正确输入,如scanf("%d") C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 scanf(%4.2f", &f) D)当输入数据时,必须指定变量的地址,如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____________。 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); 9.若有if (w) –x; else ++y; 则其中与w 等价的表达式是____________。 A)w == l B)w == 0 C)w != l D)w != 0 10.为了避免嵌套的if-else语句的二义性,C语言规定else总是与____________ 组成配对关系。 A)缩排位置相同的if B)在其之前未配对的if C)在其之前最近的未配对的if D)同一行上的if

程序设计基础试题和答案解析二

《程序设计基础》考试试卷二 1.1966年,Bohra和Jacopini提出的三种基本程序设计结构是:________ A.if、while和for; B. switch、do-while和for; C.while、do-while和for; D.顺序结构、分支结构和循环结构。 2.算法的特征不包括:______。 A.有穷性 B.可行性 C.确定性 D.有1个或者多个输入。 3.C语言源程序的基本组成单位是______。 A.函数 B. 语句 C. 声明和语句 D. 文件 4.下列标识符中,只有______是合法的。 A.if B. 3ab C. Int D. A-4 5.下列常量中,只有______是合法的。 A.3e-0.3 B. ‘abc’ C. 02a1 D. ‘\377’ 6.下列说法中正确的是:______。 A.C语言中的for语句的三个表达式都可以省略,而且分号也可以省略。 B.宏替换比函数调用的执行速度慢。 C.实质上,C语言中的指针就是一个变量的地址。 D.C语言中的任何函数都可以由程序员命名。 7.C语言中,运算对象必须是整型的运算符是_______。 A./ B. % C. + D. - 8.以下叙述中错误的是_______。 A.C语句必须以分号结束 B.复合语句在语法上被看作一条语句 C.空语句出现在任何位置都不会影响程序运行 D.赋值表达式末尾加分号就构成赋值语句 9.以下叙述中正确的是_______。 A.调用printf函数时,必须要有输出项 B.使用putchar函数时,必须在之前包含头文件stdio.h C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出 D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码10.以下关于函数的叙述中正确的是_______。 A.每个函数都可以被其它函数调用(包括main函数) B.每个函数都可以被单独编译 C.每个函数都可以单独运行 D.在一个函数内部可以定义另一个函数 11.有以下程序段typedef struct NODE{ int num; struct NODE *next;

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

C语言期中考试试题及答案-1

高级语言程序设计试题 答案在最后 一、单项选择题(本大题共20小题,每小题2分,共20分)在每小题列出得四个选项中只有一个 选项就是符合题目要求得,请将正确选项前得字母填在题后得括号内。 1、C语言程序编译时,程序中得注释部分就是( ) A、参加编译,并会出现在目标程序中 B、参加编译,但不会出现在目标程序中 C、不参加编译,但会出现在目标程序中 D、不参加编译,也不会出现在目标程序中 2、设int a=3;则表达式a<1&&--a>1得运算结果与a得值分别就是( ) A、0与2 B、0与3 C、1与2 D、1与3 3、与语句if(a>b)if(c>d)x=1;else x=2;等价得就是( ) A、if(a>b){if(c>d)x=1;else x=2;} B、if(a>b){if(c>d)x=1;}else x=2; C、if((a>b)&&(c>d))x=1;else x=2; D、if(a<=b)x=2;else if(c>d) x=1; 4、设char x='a';则printf("x=%c,y=%c\n",x,97);得输出就是( ) A、x=a,y=97 B、x=97,y=a C、x=97,y=97 D、x=a,y=a 5、执行下列程序 int a[3][3]={{1},{2},{3}}; int b[3][3]={1,2,3}; main() {printf("%d\n”,a[1][0]+b[0][0]);} 后输出得结果就是( ) A、0 B、1 C、2 D、3 6、结构化程序设计所规定得三种基本控制结构就是( ) A) 输入、处理、输出B) 树形、网形、环形 C) 顺序、选择、循环D) 主程序、子程序、函数 7、完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行得步骤依次为( ) A、连接、编译 B、编译、连接 C、连接、运行 D、运行 8、下列各语句中,能够且仅输出整型变量a、b中最大值得就是( ) A、if(a>b) printf(″%d\n″,a);printf(″%d\n″,b); B、printf(″%d\n″,b);if(a>b) printf(″%d\n″,a); C、if(a>b) printf(″%d\n″,a);else printf(″%d\n″,b); D、if(a

计算机程序设计基础习题册(含答案)

《计算机程序设计基础》 习 题 册

班级学号姓名成绩一、单选题 1.C++源程序文件的默认扩展名为A。 A) cpp B) exe C) obj D) lik 2.由C++源程序文件编译而成的目标文件的默认扩展名为C。 A) cpp B) exe C) obj D) lik 3.由C++目标文件连接而成的可执行文件的默认扩展名为B。 A) cpp B) exe C) obj D) lik 4.编写C++程序一般需经过的几个步骤依次是B。 A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接 5.程序中主函数的名字为 A 。 A) main B) MAIN C) Main D) 任意标识符 6.下面四个选项中,均是不合法的用户标识符的选项的是C。 A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 7.下列变量名中合法的是C。 A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 8.存储以下数据,占用存储字节最多的是 D 。 A) 0 B) ‘0’ C) “0” D) 0.0 9.在C++语言中,字符型数据在内存中的存储形式是D。 A) 补码 B) 反码 C) 原码 D) ASCII码 10.若有说明语句:char c =’\072’;则变量c A。 A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令

《程序设计基础》试卷(A卷)

《程序设计基础》试卷(A 卷) 注意:1、考试时间: 90 分钟; 2、班级、姓名、学号必须写在指定地方; 3、适用班级: 4、考试方式: 一、填空题 (每空 2 分,共 20 分) 1、C 程序是由函数构成的,其中有且只能有 1 个主函数,每个C 程序总是从它开始执行,并且以 ; 作为结束符。 2、C 语言中三大基本结构有:顺序结构、 选择结构 、 循环结构 。 3、‘A ’+3的结果是 68 。 4、若已定义x 和y 为double 类型,则表达式x=1,y=x+3/2 的值是 2.5 。 5、C 语言中逻辑运算符 ! 的优先级高于算术运算符。 6、符号“a”和‘a’的区别是 “a ”2字节 ‘a ’1字节 。 7、C 语言的预处理语句以____#_____开头。 8、有如下输入语句:scanf(“a=%d,b=%d ,c=%d”,&a ,&b ,&c );为使变量a 的值为1,b 的值为3,c 的值为2,从键盘输入数据的正确形式应是 a=1,b=3,c=2 。 二、选择题 (每小题 3 分,共 30 分) 1、下列叙述中错误的是( D )。 A 、 if 语句允许用户选择是否执行某个操作。 B 、 if else 语句允许用户选择执行两个操作中的某个操作。 C 、 switch 语句允许用户选择执行多个操作中的某个操作 D 、 多分支选择结构只能使用switch 语句实现 2、以下不正确的C 语言标识符是( D ) A 、ABC B 、abc C 、a_bc D 、ab.c 3、按照C 语言规定的用户标识符命名规则,不能出现在标识符中的是( B )。 A 、大写字母 B 、连接符 C 、数字字符 D 、下划线 4、将int 型变量n 转换成float 型变量的方法是( B )。 A 、float n B 、(float)n C 、float(n) D 、(int )n 5、( A )是构成C 语言的基本单位。 A 、函数 B 、子函数 C 、过程 D 、子过程 6、下面关于运算符优先顺序的描述中正确的是( B )。 A 、关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符 B 、逻辑运算符< 关系运算符< 算术运算符< 赋值运算符 C 、赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符 D 、算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符 7、在C 语言中,要求参加运算的数必须是整数的运算符是( C )。 A 、/ B 、! C 、% D 、= = 8、char 型常量在内存中存放的是( B )。 A 、ASCII 代码值 B 、BCD 代码值 C 、内码值 D 、十进制代码值 9、以下程序的输出结果是( B ) Main() { Int x=10,y=4; Printf(“%d\n ”,x/y);

《C语言程序设计》期中考试试卷

《C语言程序设计》期中考试试卷

淮海工学院 10 – 11 学年第 2 学期 C语言程序设计期中考试试卷 题号一二三四五总分 得分 单项选择题答题表 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 题答题表中) 1.以下叙述中正确的是()。 A)C程序的基本组成单位是语句 B)C程序中的每一行只能写一条语句 C)简单C 语句必须以分号结束 D)C语句必须在一行内写完在 2.一个C程序是由____________。 A)一个主程序和若干个子程序构成 B)一个或多个函数构成 C)若干过程组成 D)若干子程序组成 3.以下选项中正确的定义语句是 ____________。 A)d ouble a; b; B)d ouble a=b=7; C)d ouble a=7, b=7; D)d ouble, a, b; 4.计算机能直接执行的程序是()。 A)C源程序 B)目标程序 C)汇编程序 D)可执行程序 5.下列符号可以作为变量名的是 ____________。 A)+a B)*p C)_DAY 1

D)n ext day 6.设c是字符变量,则以下表达式正确的是____________。 A)c=666 B)c='c' C)c="c" D)c="abcd" 7.以下说法正确的是____________。 A)输入项可以为一个实型常量,如scanf("%f", 3.5) B)只有格式控制没有输入项也能进行正 确输入,如scanf("%d") C)当输入一个实型数据时,格式控制部分 应规定小数点后的位数,如scanf(%4.2f", &f) D)当输入数据时,必须指定变量的地址, 如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数 据,正确的输入语句是____________。 A)r ead(a, b, c); B)s canf("%d%d%d", a, b, c); C)s canf("%D%D%D", a, b, c); D)s canf(%d%d%d", &a, &b, &c); 9.若有if (w) –x; else ++y; 则其中与w 等 价的表达式是____________。 A)w == l B)w == 0 C)w != l D)w != 0 10.为了避免嵌套的if-else语句的二义性, C语言规定else总是与____________组成 配对关系。 A)缩排位置相同的if B)在其之前未配对的if 2

C语言期中考试题目及答案

一、选择题: 【1】在C语言中,用户能使用的正确标识符是。 A) 5f B) _for C) struct D) _f.5 答案:B 分析:标识符只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线;大小写敏感;不能使用关键字;最长32个字符。 【2】以下那个是正确的C语言常量。 A) 0678 B) '\0101' C) 1.2E3.5 D) 123L 答案:D 【3】以下对C语言源程序有关常识正确的描述是。 A)main函数必须位于文件的开头 B)每个语句必须单独一行 C)标识符中大小写字母没有区别 D)宏定义#define部分不一定要放在程序的最开头位置 答案:D 【4】以下for循环的执行次数是。 for(x=0,y=0;(y=123)&&(x<4);x++) A)是无限循环B)循环次数不定C)执行4次D)执行3次 答案:C 分析:若要判断(y=123)&&(x<4)假,因为y=123永远为真,所以只需要判断x<4为假即可。【5】对for(表达式1;;表达式3)可理解为。 A)for(表达式1;0;表达式3) B)for(表达式1;1;表达式3) C)for(表达式1; 表达式1;表达式3) D)for(表达式1; 表达式3;表达式3) 答案:B 【6】设有程序段 int k=10; while(k=0) k=k-1; 则下面描述中正确的是。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 答案:C 分析:因为k=0为假,所以程序不执行其后的语句。 【7】C语言中while和do-while循环的主要区别是。 A) do-while的循环体至少无条件执行一次 B) while的循环控制条件比do-while的循环控制条件严格 C) do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 答案:A 【8】设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为。A)1 B)2 C)3 D)4 答案:B 分析:对于&&运算,只要第一个操作数为假,就不判定第二个操作数。对于||运算,只要第

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了______15__个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是___3.1416__。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; __i<100 ___; i++) if (_(i%3==0)&&(i%10==6)_) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是____7____ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= __'\0'____; p1++, p2++) *p2 _=_*p1; *p2= ___'\0'______; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<____4____;j++) if( a[j]

程序设计基础练习题(全答案版)

《程序设计基础——C#.NET》练习 参考答案: 一、选择题 https://www.doczj.com/doc/cc3134269.html,的目的就是将____A____作为新一代操作系统的基础,对互联网的设计思想进行扩展。A.互联网 B. Windows C. C# D. 网络操作系统 2.假设变量x的值为10,要输出x值,下列正确的语句是__C__。 A.System.Console.writeline(“x”) B. System.Cosole.WriteLine(“x”) C. System.Console.WriteLine(“x={0}”,x) D. System.Console.WriteLine(“x={x}”) 3.要退出应用程序的执行,应执行下列的_A___语句。 A. Application.Exit(); B. Application.Exit; C. Application.Close(); D. Application.Close; 4.关于C#程序的书写,下列不正确的说法是__D________。 A.区分大小写 B.一行可以写多条语句 C.一条语句可以写成多行 D.一个类中只能有一个Main()方法,因此多个类中可以有多个Main()方法 5. 在C#语言中,下列能够作为变量名的是__C__。 A.if B. 3ab C. b_3a D. a-bc 7. 能正确表示逻辑关系“a≥5或a≤0”的C#语言表达方式是__D__。 A.a>=5 or a<=0 B. a>=5|a<=0 C. a>=5&&a<=0 D. a>=5||a<=0 8. 以下程序的输出结果是___C_____。 A. 5 B. 4 C. 6 D. 不确定 9. If语句后面的表达式应该是__A___。 A.逻辑表达式 B. 条件表达式 C. 算术表达式 D. 任意表达式10.有如下程序:

程序设计基础期末考试题A卷

《程序设计基础》试题 程序设计基础期末考试题A 卷 一、 选择题(1*20=20分) 题号 1 2 3 4 5 6 7 8 9 10 总分 答案 题号 11 12 13 14 15 16 17 18 19 20 答案 1、一个完整的计算机系统应该包括( ) A 、系统软件和应用软件 B 、计算机及其外部设备 C 、硬件系统和软件系统 D 、系统硬件和系统软件 2、“裸机”的概念是指( ) A 、正在进行设计还没有组装好的计算机 B 、已经组装好但还没有安装任何软件的计算机 C 、仅安装了操作系统的计算机系统 D 、安装了文字处理软件但没有安装专用数据处理系统的计算机 3、世界上第一台电子数字计算机研制成功的时间是( ) A 、1936年 B 、1946年 C 、1956年 D 、1970年 4、CASE 的含义是( ) A 、计算机辅助设计 B 、计算机辅助制造 C 、计算机辅助教学 D 、计算机辅助软件工程 5、当前广泛使用的微型计算机是( ) A 、第一代 B 、第二代 C 、第三代 D 、第四代 6、当代计算机的体系结构称为是( ) A 、冯·诺依曼机 B 、非冯·诺依曼机 C 、图灵机 D 、比尔盖茨机 7、硬盘是( ) A 、输入设备 B 、输出设备 C 、存储设备 D 、计算设备 8、下面4句话中,最准确的表述是( ) A 、程序=算法+数据结构 B 、程序是使用编程语言实现算法 C 、程序的开发方法决定算法设计 D 、算法是程序设计中最关键的因素 9、计算机能直接执行的语言是( ) A 、机器语言 B 、汇编语言 C 、高级语言 D 、目标语言 10、解释程序的功能是( ) A 、将高级语言程序转换为目标程序 B 、将汇编语言程序转换为目标程序 C 、解释执行高级语言程序 D 、解释执行汇编语言程序 11、下面4种程序设计语言中,不是面向对象式语言的是( ) A 、JAVA B 、Object Pascal C 、Delphi D 、C 12、不是C 语言的基本数据类型是( ) A 、int B 、double C 、char D 、bool 13、在C 语言中,为了求两个整数相除之后得到的余数,可以使用运算符( ) A 、/ B 、% C 、* D 、++ 14、数据的逻辑结构分为( ) A 、纯属结构和非线性结构 B 、顺序结构和非顺序结构 C 、树型结构和图型结构 D 、链式结构和顺序结构 班级 姓名

C语言期中考试

1.下列标识符中,非法的C 语言标识符是( B )。 A )sum B )5AB C )temp_3 D )_123 2.已知大写字母A 的ASCII 码是65,小写字母a 的ASCII 码是97,则用八进制表示的字符常量'\101'是( A )。 A) 字符A B) 字符a C) 字符e D) 非法的常量 3.在C 语言中,以下对一维整形数组a 的正确说明是( D ) A) int a(10) B) int n=10,a[n]; D) #define SIZE 10 int a[SIZE]; 4. 以下循环语句哪一个不是死循环: ( B ) A).while ( i=10) printf(“OK.”); B).loop: if ((c=getchar())!=’\n’) goto loop; C).do {printf(“Hello.”)} while( -10 ); D).for( ; ; ); 5. 选出如下对字符数组初始化不正确的选项是 ( B ) A).char a[]=”this is a book”; B).char a[]={‘this is a book’} ; C).char a[4]={‘t’,’h’,’e’}; D).char a[]={“this is a book”}; 6.下列数据中,非法的C 语言实型常量是( D )。 A )123.0 B )123.567e5 C ).1234 D )e3 7.以下定义语句中错误的是( B )。 A )int a=3,b=5; B )float x1; x2; C )char c1,c2,c3; D )double y3, y4; 8.若将整数4和5赋给整型变量a 和b ,对于语句 scanf("%d%d" , &a,&b); 在从键盘输入数据时,正确的数据输入格式为( B )。 A )4,5 B )4 5 C )4:5 D )4#5 9.若整型变量a 和b 的值分别为6和8,则下列语句 printf("a=%d,b=%d",a,b); 的输出结果为( D )。 A )6, 8 B )6 8 C )a=6 b=8 D )a=6, b=8 10.C 语言中的转义字符\t 的作用是( B )。 A )回车换行 B )横向跳格 C) int n; scanf (“%d”,&n); int a[n];

计算机程序设计基础习题册含答案

《计算机程序设计基础》 计算机程序设 计基础_基础知识(一) 班级 学号 姓名 成 绩 一、 单选题 习题册

1.C++源程序文件的默认扩展名为A。 2.A) cpp B) exe C) obj D) lik 3.由C++源程序文件编译而成的目标文件的默认扩展名为C。 4.A) cpp B) exe C) obj D) lik 5.由C++目标文件连接而成的可执行文件的默认扩展名为B。 6.A) cpp B) exe C) obj D) lik 7.编写C++程序一般需经过的几个步骤依次是B。 8.A)编译、编辑、连接、调试 B)编辑、编译、连接、调试 C)编译、调试、编辑、连接 D)编辑、调试、编辑、连接9.程序中主函数的名字为 A 。 10.A) main B) MAIN C) Main D) 任意标识 符 11.下面四个选项中,均是不合法的 用户标识符的选项的是 C。 12.A) A p_o do B)float lao _A C)b-a goto int D)_123 temp INT 13.下列变量名中合法的是 C。 14.A) B)C)Tom B) 3a66 C) _6a7b D) $ABC 15.存储以下数据,占用存储字节最 多的是 D 。 16.A) 0 B) ‘0’

C) “0” D) 17.在C++语言中,字符型数据在内存中的存储形式是D。 18.A) 补码 B) 反码 C) 原码 D) ASCII码 19.若有说明语句:char c =’\072’;则变量c A。 20.A) 包含1个字符 B) 包含2个字符 C) 包含3个字符 D) 说明不合法,变量的值不确定 二、填空题 1.C++头文件和源程序文件的扩展名分别为.h和.cpp 。 2.C++语言规定,标识符只能由字母、数字、下划线三种字符组成,而且第一个字符必须是字母或下划线。 3.一条表达式语句必须以__分号_;___作为结束符。 4.用于从键盘上为变量输入值的标准输入流对象是___cin____;用于输出表达式值的标准输出流对象是__cout____。 5.在一个C++程序文件中,若要包含另外一个头文件或程序文件,则应使用以_#include___标识符开始的预处理命令 计算机程序设计基础_基础知识(二) 班级学号姓名成绩 一、单选题 1.下列哪一个是C++语言中合法的变量 C A) 8ZSe B) ±A0 C) X0_2 D) ’x0’2.已知ch是字符型变量,下面不正确的赋值语句是A 3.A) ch='a+b' B) ch='\0'

相关主题
文本预览
相关文档 最新文档