C语言题库

时间:2019-05-12 17:59:14下载本文作者:会员上传
简介:写写帮文库小编为你整理了多篇相关的《C语言题库》,但愿对你工作学习有帮助,当然你在写写帮文库还可以找到更多《C语言题库》。

第一篇:C语言题库

一.选择题

1.要判断char型变量m是否是数字字符,下列可以使用的表达式是(c)。A、0<=m && m<=9 B、“0”<=m && m<=“9” C、'0'<=m && m<='9' D、无法表示

2.在C语言中,用printf函数输出int型数据时,可以使用格式控制符(D)。A、%lf B、%f

C、%c D、%d 3.用来表示“字符变量x为空格或回车”的表达式是(D)。A、x=' '||x='n' B、x==' '&&x=='n' C、x=' '&&x='n' D、x==' '||x=='n' 4.从键盘输入一个整数给变量get,下列正确的语句是(B)。A、printf(“%d”,&get);B、scanf(“%d”,&get);C、scanf(“%d”,get);D、printf(“%d”,get);

5.在C语言中以下描述错误的是(D)。

A、break语句不能用于循环语句和switch语句外的任何其它语句

B、在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环

C、在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环 D、在switch语句中使用break语句或continue语句的作用相同

6.C语言可以使用pow函数实现幂运算,该函数在头文件(B)中定义。A、stdio.h B、math.h C、printf.h

D、lib.h 7.以下说法正确的是(D)。

A、不能使用do-while语句构成的循环

B、do-while语句构成的循环必须用break语句才能退出 C、do-while语句构成的循环,当循环条件为真时结束循环 D、do-while语句构成的循环,当循环条件为假时结束循环 8.在C语言中,以下变量名合法的是(A)。A、abc1 B、>ac C、1ac D、int 9.以下选项中不合法的标识符是(C)。A、print B、_int C、^Int D、includet 10.一个C程序的执行是从(B)。

A、第一个语句开始,直到最后一个语句结束 B、main()函数开始,直到main()函数结束 C、main()函数开始,直到最后一个函数结束 D、第一个函数开始,直到最后一个函数结束

11.C语言可以使用printf函数实现输出,该函数在头文件(C)中定义。A、math.h B、printf.h C、stdio.h D、lib.h 12.在C语言中,用printf函数输出float型数据时,可以使用格式控制符(B)A、%lf B、%f C、%d D、%c 13.int x=2,y;if(x!=0)y=3/x;else y=0;printf(“%d”,y)(C);A、0.5 B、0 C、1 D、1.5 14.能正确判断ch为小写字母的表达式是(A)。A、ch>='a' && ch<='z' B、ch<'a' || ch>'z' C、ch>'a' && ch<'z' D、ch>='a' || ch<='z' 15.C语言中,三条边a、b、c能构成三角形的逻辑表达式是(C)。A、a-bb B、a>b>c C、a+b>c &&a+c>b &&b+c>a D、a+b>c 16.用来表示“n既能被5整除又能被7整除”的表达式是(A)。A、n%5 == 0 && n%7 == 0 B、n%5 = 0 || n%7 = 0 C、n%5 = 0 && n%7 = 0 D、n%5 == 0 || n%7 == 0 17.printf(“%c”,65)的输出结果是(C)。A、a

。B、65c C、A D、65 18.float x;该语句将变量x定义为(D)类型。A、整型

B、双精度实型

C、字符型

D、单精度实型

19.以下关于变量定义错误的是(C)。

A、double int_;B、int _int;C、char for;D、float USS;

20.以下关于C语言描述错误的是(C)。

A、C语言中变量必须先定义再使用。B、C程序有且只有一个main()函数。C、在C语言中,字母的大小写不被区分。D、C语言中的所有语句必须以分号结束。

21.语句a=3;printf(“%d”,a==2);执行后输出的结果是(D)。

A、1 B、2 C、3 D、0

22.C语言程序的基本控制结构是(A)。

A、顺序、分支、循环 B、循环结构 C、分支结构 D、顺序结构

23.C语言中,执行语句a=(double)5/2;后,a的值是(D)。

A、5.000000 B、2.000000 C、1.000000 D、2.500000

24.C语言中没有输入输出语句,它是通过调用系统库函数中的(D)函数来实现数据的输出。

A、scanf B、put C、write D、printf

25.在调试程序的过程中,错误信息“undeclared identifier”的可能含义是(B)。

A、变量重复定义 B、没有定义变量标识符 C、语句漏掉分号

D、主函数中标识符定义错误

26.下面有关for循环的正确描述是(A)。

A、for循环体语句中,可以包含多条语句,但要用花括号括起来 B、在for循环中,不能用break语句跳出循环体 C、for循环的循环体不能为空语句

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

27.在C语言中,求平方根的数学函数是(B)。

A、fabs()B、sqrt()C、exp()D、pow()

28.在C语言中,用printf函数输出字符型数据时,可以使用格式控制符(A)。

A、%c B、%d C、%lf D、%f

29.设 x、y、z均为int型变量,若从键盘给x、y、z输入数据,则正确的输入语句是(B)。

A、scanf(“%d%d%d”,x,y,z);B、scanf(“%d%d%d”,&x,&y,&z);C、INPUT x,y,z;D、read(“%d%d%d ”,&x,&y,&z);

30.设x、y、z都是整型变量,x、y的初值都是5,执行z=(++x)+(y--)+1后,x、y、z三变量的值按顺序是(B)。

A、5,5,11 B、6,4,12 C、6,5,11 D、6,4,11

31.在C语言中,(float)7/2的值是(A)。

A、3.500000 B、3.000000 C、1 D、3

32.以下语句中,(C)语句不是循环语句。

A、do-while语句 B、for语句 C、switch语句 D、while语句

33.语句printf(“%c”,'G'-'A' +'a');的输出结果是(A)。

A、g B、A C、G D、a

34.在C语言中,求绝对值的数学函数是(B)。

A、exp()B、fabs()C、sqrt()D、pow()

35.变量a、b分别声明为int型和double型,a的初值为5,如果b获得a的一半值,可使用哪条语句(A)。

A、b=a/2.0;B、b=a-a/2;C、b=sqrt(a);D、b=a/2;

36.执行语句for(i=1;i<=10;i++)continue;后,i值为(A)。

A、11 B、9 C、无穷 D、10 A、7 B、2.5 C、2 D、4

37.已知整型变量x=10,y=2,则表达式x/=y+2的运算结果是(C)。

38.C语言的标识符只能由大小写字母,数字和下划线三种字符组成,第一个字符不可以是(D)。

A、大写字母 B、小写字母 C、下划线 D、数字

39.C 语言可以使用getchar()函数实现输入,该函数在系统头文件(A)中定义。

A、stdio.h B、用户自定义函数 C、math.h D、string.h A、'n' B、'/n' C、'r' D、'b'

40.使用系统提供的输出函数printf()时,实现换行功能的字符是(A)。

二.判断题

1.在C程序中每条指令之后必须用分号结束。N 2.表示关系“x等于y”,应使用C语言表达式x=y。N

3.#define PI 3.14159是定义变量PI并初始化的语句。N 4.表达式3/4+0.25的值是1。N 5.double x;该语句将变量x定义为单精度变量。N 6.C语句while(1)printf(“1”);执行后,只能输出一个1。N 7.putchar()函数可以输出实数。N 8.同一数组可以存储不同类型的数据。N 9.C语言中,给变量x赋值3可以写成语句“3=x;”。N 10.语句b=a,a=b;可以实现变量a与b的值交换。N 11.一系列指令的有序集合构成了程序。Y 12.在C语言中,仅由一个分号“;”构成的语句称为空语句。Y 13.break语句只能用于switch语句。N 14.一个C程序可以没有main()函数。N 15.在C语言中,字母的大小写不被区分。N 16.C程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行不起任何作用。但是可以增加程序的可读性。Y 17.C语言中,如果省略for(表达式1;表达式2;表达式3)循环语句中的表达式2,则该for循环语句可构成死循环。Y 18.continue语句用于循环语句内部中。当遇到continue语句之后,循环体中continue语句后面的语句将被跳过,计算机将接着开始执行下一次循环。Y 19.一个未赋值的局部变量的初始值是随机值。Y 20.a==3;是由关系表达式加分号形成的语句。Y 21.C语言中,pow 函数在系统头文件“stdio.h”中定义。N 22.一个printf()函数只能输出一行数据。N 23.scanf()函数只能获得数值,获得字符只能使用getchar()函数。N 24.(float)x 是定义变量x的语句。N 25.一个C程序可以有两个main()函数。N 26.C语言语句printf(“%d”,'r'-'R');的执行结果是0。N 27.执行语句b=i++;与语句b=++i;后,b的结果相同。N 28.表达式“3<4?5:6”的值可能是5,也可能是6。N 29.用一对大括号“{ }”将若干条语句顺序组合在一起形成一条复合语句。Y 30.for(i=1;i<=10;i++)printf(“*”);语句中循环体共执行11次。N 31.C语言的基本控制结构包含顺序结构、分支结构和循环结构三种。Y 32.一个C程序可以没有main()函数。N 33.用static关键字定义静态变量。Y

34.C语言中while和do-while循环的主要区别是while的循环体至少执行一次。N 35.在C程序中每条指令之后必须用分号结束。N 36.任何变量在使用之前可以不用定义。N 40.C程序的执行总是从程序第一句开始。N 41.C语言中,'a' 和 “a” 所表示的含义是相同的。N 42.C语言中,int型属于基本数据类型。Y 43.在嵌套使用if语句时,else总是和之前与其最近的if配对。N 44.若有定义:int a;则scanf(“%d”,a);可以给变量a赋值。N 45.C程序从main函数开始执行,当main函数结束时,程序也就结束了。Y 46.C语言的基本控制结构包含顺序结构、分支结构两种。N 47.二分支选择问题必须使用switch 语句实现。N 48.while语句和do...while语句都是先判断条件,后执行循环体。N 49.for(i=1;i<10;i++)printf(“*”);此循环结构中的循环体共执行10次。N 50.C语言中整型、实型和字符型数据都属于基本的数据类型。Y 51.语句printf(“%.2f”,1/4+2.75);的运行结果是3.N 52.C语言中,求余运算符“%”的运算对象必须是整型数。Y 53.语句m= i++;和n=++i;都可以使i变量自增1.Y 54.任何数组下标都是从0开始。Y 55.表达式“2>3,2+3,2*3”的值是6。Y 56.若有定义int a[10];,则该数组中第一个元素为a[1]。N 56.若有定义int a[10];,则该数组中最后一个元素为a[10]。N 57.可以通过n%10表达式计算一个整数的个位数。Y 58.可以通过n%7==0表达式来判断n是否是7的倍数。Y 59.多分支选择问题只能通过switch 语句实现。N 60.在printf()函数的格式输出中,%x表示输出十进制的整数。N 61.语句printf(“%.2f”,2.755);的运行结果是2.75。Y 62.无论条件是否满足,do-while循环都至少执行一次循环体。Y 63.在定义二维数组时,可以将该数组的两个维数全部省略。N 64.sizeof()是一个单目运算符。Y

三.填空题

1.从已有的10个整数(数字可重复)中查询某个数是否存在,如果存在则输出第一次出现的位置,否则输出没找到。#include int main(){ int a[10],i,m,k=0;for(i=0;i<10;i++)scanf(“%d”,&a[i]);scanf(“%d”,&m);for(i=0;i<10;i++)if(a[i]____m){ printf(“%dn”,i);k=1;_________;} if(k==0)printf(“没找到”);} 【参考答案】 == break ======================== 2.输出1到10中所有的奇数。#include int main(void){int m;for(m=1;m<11;___+1)if(m%2____0)printf(“%d ”,m);return 0;}

【参考答案】 m=m!= ============= 3.从键盘输入一个整数x,求它的个位数字y。#include int main(void){ int x,y;scanf(“%d”,______);y=_________;printf(“%d”,y);return 0;【参考答案】 &x x%10 =============== 4.输入一个正整数n,输出n!。#include int main(){ int i,n;double fact=______;scanf(“%d”,&n)for(i=1;i<=n;i++)fact=________;printf(“%lf”,fact);return 0;} 【参考答案】 1 fact*i ============ 5.编程输出1+1+2+3+5+8+13+21的和。#include int main(){ int i,f[8]={1,_____},sum=2;for(i=2;i<=7;i++){ f[i]=_____+f[i-2];sum=sum+f[i];} printf(“%d ”,sum);return 0;} 【参考答案】 1 f[i-1] ======================== 6.输入一个正整数,输出它的各位数字之和。#include void main(){ int x,sum=0;scanf(“%d”,&x);while(x!=____){ sum=sum+x%10;x=______;} printf(“%d”,sum);} 【参考答案】 0 x/10 ==================== 7.输入一个年份,判断其是否是闰年。

判断闰年的条件:能被4整除,但不能被100整除;或能被400整除。

#include void main(){ int year;scanf(“%d”,&year);if(year % 4!=0)printf(“%d不是闰年”,year);else if(year % 100_____)printf(“%d 是闰年”,year);________(year % 400==0)printf(“%d 是闰年”,year);else printf(“%d 不是闰年,year);} 【参考答案】!=0 else if ================= 8.从键盘输入一个数m,判断是否为素数。# include main(){ int m,i,f=1;scanf(”%d“,&m);for(i=2;i<=m/2;i++)if(m%i==0){ ______;______;} if(f!=0)printf(”%d是素数“,m);} 【参考答案】 f=0 break ================ 9.求1+2+3+„+10的累加和,并进行累加和的输出打印。#include ”stdio.h“ main(){ int i,sum;i=1;_______;while(i<=10){sum+=____;i++;} printf(”%dn“,sum);} 【参考答案】 sum=0 i ============== 10.输出1到90的所有能被15整除的数。#include int main(){ int i;for(i=1;____ 90;i++){ if(i%3==0 ____ i%5==0)printf(”%d“,i);} return 0;} 【参考答案】 i<= && =================== 11.计算1!+2!+3!+4!+5!#include int main(){ int i,s,fact;________;s=0;for(i = 1;i <= 5;i++){ 【参考答案】 fact=1 *i ==================== 12.从键盘输入一个数,判断是否是5的倍数。# include void main(){ int m;printf(”Enter m:“);scanf(”_____“,&m);if(_______)printf(”%d是5的倍数“,m);} 【参考答案】 %d 0==m%5/m%5==0 ======================== 13.计算球体体积并输出。#include #include<________> void main(){ _______ r, v;scanf(”%f“, &r);v = 4*3.14*pow(r,3)/3;printf(”v=%fn“, v);} 【参考答案】 math.h float ============================== 14.输入两个数,交换后输出。#include void main(){ int a,b,t;scanf(”%d%d “,&a,&b);t=a;______;______;printf(”%d %d“,a,b);} 【参考答案】 a=b b=t =============================== 15.输入10个整数,存入数组,求其中最小值。#include int main(){ int a[10],i,min;for(i=0;i<10;i++)scanf(”%d“,&a[i]);min=0;for(i=1;i<10;i++)if(a[i]<_______)min=__________;printf(”%dn",a[min]);}

【参考答案】 a[min] i

第二篇:C语言题库

1、用Access创建的数据库文件,其扩展名是______。A:.adp B:.dbf C:.frm D:.mdb 答案:D

2、数据库系统的核心是______。

A:数据模型 B:数据库管理系统 C:数据库 D:数据库管理员 答案:B

3、数据库系统是由数据库、数据库管理系统、应用程序、______、用户等构成的人机系统。A:数据库管理员 B:程序员 C:高级程序员 D:软件开发商 答案:A

4、在数据库中存储的是______。

A:信息 B:数据 C:数据结构 D:数据模型 答案:B

5、在下面关于数据库的说法中,错误的是______。

A:数据库有较高的安全性 B:数据库有较高的数据独立性 C:数据库中的数据可以被不同的用户共享 D:数据库中没有数据冗余 答案:D

6、下面关于新型数据库的说法中,错误的是______。

A:数据仓库不是一个新的平台,仍然使用传统的数据库管理系统,而是一个新的概念 B:分布式数据库是一个数据在多个不同的地理位置存储的数据库 C:面向对象数据库仍然采用传统的关系型数据库管理系统

D:空间数据库是随着地理信息系统gis的开发和应用而发展起来的数据库新技术 答案:C

7、不是数据库系统特点的是______。A:较高的数据独立性 B:最低的冗余度 C:数据多样性 D:较好的数据完整性 答案:C

8、在下列数据库管理系统中,不属于关系型的是______。A:Micorsoft Access B:SQL server C:Oracle D:DBTG系统 答案:D

9、Access是______数据库管理系统。A:层次 B:网状 C:关系型 D:树状 答案:C

10、在Access中,数据库的基础和核心是______。A:表 B:查询 C:窗体 D:宏 答案:A

11、在下面关于Access数据库的说法中,错误的是______。A:数据库文件的扩展名为mdb B:所有的对象都存放在同一个数据库文件中 C:一个数据库可以包含多个表

D:表是数据库中最基本的对象,没有表也就没有其他对象 答案:B

12、在一个单位的人事数据库,字段“简历”的数据类型应当为______。A:文本型 B:数字型 C:日期/时间型 D:备注型 答案:D

13、在一个学生数据库中,字段“学号”不应该是______。A:数字型 B:文本型 C:自动编号型 D:备注型 答案:D

14、在下面关于Access数据类型的说法,错误的是______。A:自动编号型字段的宽度为4个字节 B:是/否型字段的宽度为1个二进制位 C:OLE对象的长度是不固定的 D:文本型字段的长度为255个字符 答案:C

15、假定姓名是文本型字段,则查找姓“李”的学生应该使用______。A:姓名 like “李” B:姓名 like “[!李]” C:姓名=“李*” D:姓名 Like “李*” 答案:D

16、如果字段“成绩”的取值范围为0~100,则错误的有效性规则是______。A:>=0 and <=100 B:[成绩]>=0 and [成绩]<=100 C:成绩>=0 and 成绩<=100 D:0<=[成绩]<=100 答案:D

17、基本表结构可以通过______,对其字段进行增加或删除操作。A:insert B:alter table C:drop table D:delete 答案:B

18、内部计算函数SUM(字段名)的作用是求同一组中所在字段内所有的值的______。A:和 B:平均值 C:最小值 D:第一个值 答案:A

19、子句where 性别=“女” and 工资额>2000的作用是处理______。A:性别为“女”并且工资额大于2000的记录 B:性别为“女”或者工资额大于2000的记录 C:性别为“女”并非工资额大于2000的记录

D:性别为“女”或者工资额大于2000的记录,且二者择一的记录 答案:A 20、在Access的下列数据类型中,不能建立索引的数据类型是______。A:文本型 B:备注型 C:数字型 D:日期/时间型 答案:B

21、用于存放数据库数据的是______。A:表 B:查询 C:窗体 D:报表 答案:A

22、如果在创建表中建立字段“基本工资额”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:B

23、在Access中,表和数据库的关系是______。

A:一个数据库可以包含多个表 B:一个表只能包含2个数据库 C:一个表可以包含多个数据库 D:一个数据库只能包含一个表 答案:A

24、Access数据库管理系统依赖于______操作系统。A:Dos B:Windows C:Unix D:Ucdos 答案:B

25、在关系型数据库中,二维表中的一行被称为______。A:字段 B:数据 C:记录 D:数据视图 答案:C

26、定义某一个字段的默认值的作用是______。A:当数据不符合有效性规则时所显示的信息 B:不允许字段的值超出某个范围

C:在未输入数值之前,系统自动提供数值 D:系统自动把小写字母转换成大写字母 答案:C

27、常见的数据模型有3种,它们是______。

A:网状、关系和语义 B:层次、关系和网状 C:环状、层次和关系 D:字段名、字段类型和记录 答案:B

28、在以下叙述中,正确的是______。

A:Access只能使用系统菜单创建数据库应用系统 B:Access不具备程序设计能力

C:Access只具备了模块化程序设计能力 D:Access具有面向对象的程序设计能力 答案:D

29、不属于Access对象的是______。A:表 B:文件夹 C:窗体 D:查询 答案:B 30、表的组成内容包括______。

A:查询和字段 B:字段和记录 C:记录和窗体 D:报表和字段 答案:B

31、数据类型是______。

A:字段的另一种说法 B:决定字段能包含哪类数据的设置

C:一类数据库应用程序 D:一类用来描述Access表向导允许从中选择的字段名称 答案:B

32、用Visual FoxPro创建的数据库文件,其扩展名是______。A:.adp B:.dbf C:.frm D:.dbc 答案:D

33、如果在创建表中建立字段“职工姓名”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:A

34、如果在创建表中建立字段“奖金”,其数据类型应当为______。A:文本类型 B:货币类型 C:日期类型 D:数字类型 答案:B

35、如果在创建表中建立需要随机编号的字段,其数据类型应当为______。A:自动编号类型 B:货币类型 C:日期类型 D:数字类型 答案:A

36、如果在创建表中建立需要存放逻辑类型的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:数字类型 答案:C

37、如果在创建表中建立需要存放Word文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

38、如果在创建表中建立需要存放Excel文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

39、如果在创建表中建立需要存放图片文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D 40、如果在创建表中建立需要存放声音文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

41、如果在创建表中建立需要存放二进制数据文档的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:D

42、如果在创建表中建立需要存放时间的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:日期/时间类型 答案:D

43、如果在创建表中建立需要存放少于255个字符的字段,其数据类型应当为______。A:文本类型 B:货币类型 C:是/否类型 D:OLE类型 答案:A

44、如果在创建表中建立能存放最多6.4万个字符的字段,其数据类型应当为______。A:文本类型 B:备注类型 C:是/否类型 D:OLE类型 答案:B

45、如果在创建表中建立需要进行算术运算的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:A

46、下边哪个字段的数据类型必须是8个字节______。A:数字类型 B:备注类型 C:日期/时间型 D:OLE类型 答案:C

47、下边哪个字段的数据类型必须是4个字节______。A:数字类型 B:备注类型 C:货币类型 D:自动编号类型 答案:D

48、如果在创建表中建立需要存储True/False的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:C

49、数据库中的基本单位是______。A:表 B:查询 C:窗体 D:报表 答案:A 50、从一个表或者多个表中选择一部分数据的是______。A:表 B:查询 C:窗体 D:报表 答案:B

51、用户和数据库交互的界面是______。A:表 B:查询 C:窗体 D:报表 答案:C

52、______是Access中以一定输出格式表现数据的一种对象。A:表 B:查询 C:窗体 D:报表 答案:D

53、描述若干个操作的组合的是______。A:表 B:查询 C:窗体 D:宏 答案:D

54、Access XP中新增加的对象是______。A:表 B:查询 C:页 D:宏 答案:C

55、Microsoft公司面向高端的DBMS是______。A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:B

56、Microsoft公司面向小型数据库系统的是______。A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:A

57、目前功能最强大的数据库系统是______。

A:ACCESS B:SQL SERVER C:ORACLE D:MySQL 答案:C

58、如果在创建表中建立需要禁止四舍五入的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:货币类型 D:OLE类型 答案:C

59、如果在创建表中建立需要存储yes/no的字段,其数据类型应当为______。A:数字类型 B:备注类型 C:是/否类型 D:OLE类型 答案:C 60、一个关系对应一个______。

A:二维表 B:关系模式 C:记录 D:属性 答案:A 61、______是对关系的描述。

A:二维表 B:关系模式 C:记录 D:属性 答案:B 62、表中的一列叫做______。

A:二维表 B:关系模式 C:记录 D:字段 答案:D 63、唯一确定一条记录的某个属性组是______。A:关键字 B:关系模式 C:记录 D:属性 答案:A 64、被选中的关键字是______。A:主键 B:关系模式 C:记录 D:属性 答案:A 65、属性的取值范围是______。A:值域 B:关系模式 C:记录 D:属性 答案:A 66、关系名(属性,属性2,……属性n)是______。A:主键 B:关系模式 C:记录 D:属性 答案:B 67、添加新记录时,自动添加到字段中的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:A 68、检查字段中的输入值是否合法的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:B 69、检查字段中的输入值不合法时,提示的信息是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:C 70、可以加快查询操作的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:D 71、可以加快排序操作的是______。A:默认值 B:有效性规则 C:有效性文本 D:索引 答案:D 72、用于在窗体和报表中取代字段中值的是______。A:默认值 B:标题 C:有效性文本 D:索引 答案:B 73、表中的数据可以存为下列文件格式______。A:pdf B:exe C:txt D:bmp 答案:C 74、表中的数据可以存成下列文件格式______。A:wav B:jpg C:rtf D:bmp 答案:C 75、下列哪个不是关系的类型______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:D 76、下列哪个是从其他表导出的表______。A:基本表 B:查询表 C:视图 D:物理表 答案:C 77、下列哪个表最能保证数据的安全______。A:基本表 B:查询表 C:视图 D:物理表 答案:C 78、下列哪个表不对应实际存储的表______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:C 79、下列哪个表是查询中生成的表______。A:基本表 B:查询表 C:视图 D:逻辑表 答案:B 80、下列哪个不能保存在数据库文件中______。A:表 B:页 C:查询 D:窗体 答案:B 81、所有的数据信息都保存在______中。A:表 B:页 C:模块 D:窗体 答案:A 82、数据导出的时候,如果是文本形式,则分隔符是______号。A:, B:“ C:: D:-答案:A 83、面向主题的、集成的、稳定的和随时间变化的数据集合,主要用于决策的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:D 84、强调研究如何存储和使用具有海量数据量的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:C 85、强调研究一个数据在多个不同的地理位置存储的数据库是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:A 86、引入类、对象等概念的数据库是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:B 87、描述、存储与处理具有位置、形状、大小、分布特征及空间关系的数据库是______。A:分布式数据库 B:空间数据库

C:多媒体数据库 D:数据仓库 答案:B 88、不属于数据库发展过程的是______。A:人工管理阶段 B:文件系统阶段 C:数据库系统阶段 D:智能数据库 答案:D 89、字符串用什么符号括起来______。A:逗号 B:单引号 C:双引号 D:$ 答案:C 90、日期型数据用什么符号括起来______。A:逗号 B:单引号 C:双引号 D:# 答案:D 91、在Access中,与like一起用的时候,代表任何一个字符的是______。A:* B:? C:# D:$ 答案:B 92、在Access中,与like一起用的时候,代表0个或者多个字符的是______。A:* B:? C:# D:$ 答案:A 93、在Access中,与like一起用的时候,代表任一数字的是______。A:* B:? C:# D:$ 答案:C 94、连接2个字符串的是______。A:* B:? C:# D:& 答案:D 95、查找姓张的学生,用到的表达式是______。A:张* B:张? C:张# D:张$ 答案:A 96、查找不姓张的学生,用到的表达式是______。A:not like 张* B:not like 张? C:not like 张# D:not like 张$ 答案:A 97、返回某一天的年份的表达式是______。A:year(12/1/1999)B:year(”12/1/1999“)C:year(%12/1/1999%)D:year(#12/1/1999#)答案:D 98、字符运算符是______。A:* B:? C:# D:& 答案:D 99、算式5 mod 3的结果是______。A:0 B:1 C:2 D:3 答案:C 100、假定姓名是文本型字段,则查找名字中含有”雪“的学生应该使用______。A:姓名 like ”*雪*“ B:姓名 like ”[!雪]“ C:姓名=”*雪*“ D:姓名==”雪*“ 答案:A 101、表示整除的是______。A:/ B:mod C: D:≈ 答案:C 102、表示取余数的是______。A:/ B:mod C: D:≈ 答案:B 103、表示乘方的是______。A:^ B:mod C: D:** 答案:A 104、Between表达式的返回值是______。A:数值型 B:逻辑型 C:文本型 D:备注型 答案:B 105、运算级别最高的运算符是______。A:算术 B:关系 C:逻辑 D:字符 答案:A 106、运算级别最低的运算符是______。A:算术 B:关系 C:逻辑 D:字符 答案:D 107、下列哪个能得到abc1234______。A:”abc“&”1234“ B:”abc“@”1234“ C:”abc“$”1234“ D:”abc“#”1234“ 答案:A 108、依次自动加1的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:D 109、表示on/off的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:C

110、宽度为1个二进制位的数据类型是______。A:文本类型 B:货币类型 C:是/否类型 D:自动编号类型 答案:C 111、表示最多可达1GB二进制数据的数据类型是______。A:文本类型 B:OLE类型 C:是/否类型 D:自动编号类型 答案:B 112、表示图片的最佳数据类型是______。A:文本类型 B:货币类型 C:OLE类型 D:自动编号类型 答案:C 113、分类包括中央数据库和中央索引数据库的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:A 114、为企业更快,更好的做出经营决策提供准确完整信息的是______。A:分布式数据库 B:面向对象数据库

C:多媒体数据库 D:数据仓库 答案:D 115、随着地理信息系统的开发与应用发展起来的是______。A:分布式数据库 B:空间数据库

C:多媒体数据库 D:数据仓库 答案:B 116、不是数据库特征的是______。A:数据独立性 B:最低的冗余度 C:逻辑性 D:数据完整性 答案:C 117、窗口事件是指操作窗口时所引发的事件,下列不属于窗口事件的是______。A:打开 B:关闭 C:加载 D:取消 答案:D 118、在显示具有______关系的表或查询中的数据时,子窗体特别有效。A:一对一 B:一对多 C:多对多 D:复杂 答案:B 119、下列不属于Access窗体的视图是______。A:设计视图 B:窗体视图 C:版面视图 D:数据表视图 答案:C 120、既可以直接输入文字,又可以从列表中选择输入项的控件是______ A:选项框 B:文本框 C:组合框 D:列表框 答案:C 121、可以作为窗体记录源的是______。A:表 B:查询 C:Select语句

D:表、查询或Select语句 答案:D 122、Access窗体中的文本框控件分为______。A:计算型和非计算型 B:结合型和非结合型 C:控制型和非控制型 D:记录型和非记录型 答案:B 123、下面关于列表框和组合框的叙述正确的是______。A:列表框和组合框可以包含一列或几列数据 B:可以在列表框中输入新值,而组合框不能 C:可以在组合框中输入新值,而列表框不能 D:在列表框和组合框中均可以输入新值 答案:C 124、为窗体上的控件设置Tab键的顺序,应选择属性表中的______。A:格式选项卡 B:数据选项卡 C:事件选项卡 D:其他选项卡 答案:D 125、下列有关选项组的叙述正确的是______。

A:如果选项组结合到某个字段,实际上是组框架内的复选框、选项按钮或切换按钮结合到该字段上的 B:选项组中的复选框可选可不选

C:使用选项组,只要单击选项组中所需的值,就可以为字段选定数据值 D:以上说法都不对 答案:C 126、”特殊效果“属性值用于设定控件的显示效果,下列不属于”特殊效果“属性值的是______。A:平面 B:凸起 C:蚀刻 D:透明 答案:D 127、下列不属于窗口事件的是______。A:打开 B:关闭 C:删除 D:加载 答案:C 128、下列不属于窗体的常用格式属性的是______。A:标题 B:滚动条 C:分隔线 D:记录源 答案:D 129、窗体有三种视图,分别为”设计视图“、”窗体视图“和”______“。A:报表视图 B:数据表视图 C:查询视图 D:大纲视图 答案:B 130、假设已在Access中建立了包含”书名“、”单价“和”数量“三个字段的”tOfg“表,以该表为数据源创建的窗体 A:[单价]*[数量] B:=[单价]*[数量] C:[图书订单表]![单价]*[图书订单表]![数量] D:=[图书订单表]![单价]*[图书订单表]![数量] 答案:B 131、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students B:SELECT COUNT(*)人数 FROM Students C:SELECT DISTINCT 专业 FROM Students D:SELECT 专业 FROM Students 答案:B 132、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students WHERE专业=”计算机“ B:SELECT * FROM Students WHERE 1 <> 1 C:SELECT * FROM Students WHERE ”姓名“=李明

D:SELECT * FROM Students WHERE 专业=”计算机“&”科学“ 答案:C 133、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT * FROM Students ORDER BY 学号 B:SELECT * FROM Students ORDER BY 学号 ASC C:SELECT * FROM Students ORDER BY 学号 DESC D:SELECT * FROM Students ORDER BY 学号 ESC 答案:D 134、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句中有错误的是______。A:SELECT COUNT(*)FROM Students GROUP BY 性别

B:SELECT COUNT(*)FROM Students GROUP BY 性别 WHERE 专业 = ”计算机“ C:SELECT COUNT(*)FROM Students GROUP BY 性别 HAVING 专业 = ”计算机“ D:SELECT COUNT(*)AS 人数 FROM Students GROUP BY 性别 答案:B 135、根据关系模型Students(学号,姓名,性别,专业)下列SQL语句正确的是______。A:SELECT * FROM Students WHERE ”姓名“ = 李明

B:SELECT COUNT(*)FROM Students GROUP BY 性别 WHERE 专业 = ”计算机“ C:SELECT * FROM Students ORDER BY 学号 DESC D:SELECT * DISTINCT 专业 FROM Students 答案:C 136、根据关系模型Students(学号,姓名,性别,专业),查找姓”王“的学生应使用______。A:SELECT * FROM Students WHERE 姓名 Like”王*“ B:SELECT * FROM Students WHERE 姓名 Like”[!王]“ C:SELECT * FROM Students WHERE 姓名=”王*“ D:SELECT * FROM Students WHERE 姓名==”王*“ 答案:A 137、根据关系模型Students(学号,姓名,性别,专业),查找专业中含有”计算机“的学生应使用______。A:SELECT * FROM Students WHERE 专业 Like”计算机*“ B:SELECT * FROM Students WHERE 专业 Like”*计算机*“ C:SELECT * FROM Students WHERE 专业=”计算机*“ D:SELECT * FROM Students WHERE 专业==”*计算机*“ 答案:B 138、根据关系模型Students(学号,姓名,性别,专业,成绩),查找成绩在80到90之间的学生应使用______。A:SELECT * FROM Students WHERE 80<成绩<90 B:SELECT * FROM Students WHERE 80<成绩 OR 成绩<90 C:SELECT * FROM Students WHERE 80<成绩 AND 成绩<90 D:SELECT * FROM Students WHERE 成绩 IN(80,90)答案:C 139、在SQL查询语句中,子句”WHERE 性别=“女” AND 工资额>2000“的作用是处理______。A:性别为”女“并且工资额大于2000(包含)的记录 B:性别为”女“或者工资额大于2000(包含)的记录 C:性别为”女“并且工资额大于2000(不包含)的记录 D:性别为”女“或者工资额大于2000(不包含)的记录 答案:C 140、根据关系模型Students(学号,姓名,性别,出生年月),统计学生的平均年龄应使用______。A:SELECT COUNT()AS 人数,AVG(YEAR(出生年月))AS平均年龄 FROM Students B:SELECT COUNT(*)AS 人数,AVG(YEAR(出生年月))AS平均年龄 FROM Students C:SELECT COUNT(*)AS 人数,AVG(YEAR(DATE())-YEAR(出生年月))AS平均年龄 FROM Students D:SELECT COUNT()AS 人数,AVG(YEAR(DATE())-YEAR(出生年月))AS平均年龄 FROM Students 答案:C 141、根据关系模型Students(学号,姓名,性别,出生年月),查询计算机专业学生的学号、姓名和专业______。A:SELECT 学号、姓名、专业 FROM Students WHERE 专业=”计算机“ B:SELECT 学号、姓名、专业 FROM Students WHERE 专业=计算机 C:SELECT 学号,姓名,专业 FROM Students WHERE 专业=”计算机“ D:SELECT 学号,姓名,专业 FROM Students WHERE 专业=计算机 答案:C 142、根据关系模型Students(学号,姓名,性别,出生年月),查询性别为”男“并按年龄从小到大到排序______。A:SELECT * FROM Students WHERE 性别=”男“ B:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 C:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 ASC D:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 出生年月 DESC 答案:D 143、根据关系模型Students(学号,姓名,性别),查询性别为”男“并按学号从小到大到排序______。A:SELECT * FROM Students WHERE 性别=”男“ GROUP BY 学号 DESC B:SELECT * FROM Students WHERE 性别=”男“ GROUP BY 学号 ASC C:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 学号 ASC D:SELECT * FROM Students WHERE 性别=”男“ ORDER BY 学号 DESC 答案:C 144、在Access的数据库中建立了”tBook“表,若查找”图书编号“是”112266“和”113388“的记录,应在查询设计 A:”112266“ and ”113388“ B:not in(”112266“,”113388“)C:in(”112266“,”113388“)D:not(”112266“ and ”113388“)答案:C 145、在SQL查询语句中,若要查询成绩为60-80分之间(包括60分,不包括80分)的学生的信息,成绩字 A:>60 or <80 B:>=60 And <80 C:>60 and <80 D:IN(60,80)答案:B 146、若要用设计视图创建一个查询,查找总分在255分以上(包括255分)的女同学的姓名、性别和总分,正 A:在条件单元格键入:总分>=255 AND 性别=”女“ B:在总分条件单元格键入:总分>=255;在性别的条件单元格键入:”女“ C:在总分条件单元格键入:>=255;在性别的条件单元格键入:”女“ D:在条件单元格键入:总分>=255 OR 性别=”女“ 答案:C 147、下列对Access查询叙述错误的是______。A:查询的数据源来自于表或已有的查询

B:查询的结果可以做为其它数据库对象的数据源 C:Access的查询可以分析数据、追加、更改、删除数据 D:查询不能生成新的数据表 答案:D 148、若取得”学生“数据表的所有记录及字段,其SQL语法应是______。A:select 姓名 from 学生

B:select * from 学生 where 12=12 C:select * from 学生 where 学号=12 D:以上皆非 答案:B 149、Access数据库中的SQL查询中的GROUP BY语句用于______。A:分组依据 B:对查询进行排序 C:列表 D:选择行条件 答案:A 150、Access数据库中的SQL查询不包括哪种方式______。A:连接查询 B:嵌套查询 C:分组查询 D:智能查询 答案:D 151、假设某数据表中有一个工作时间字段,查找92年参加工作的职工记录的条件是______。A:Between #92-01-01# And #92-12-31# B:Between ”92-01-01“ And ”92-12-31“ C:Between ”92.01.01“ And ”92.12.31“ D:Between #92.01.01# And #92.12.31# 答案:A 152、在SQL查询语句中,下列说法正确的是______。A:SELECT命令中必须有FROM关键字 B:SELECT命令中必须有WHERE关键字 C:SELECT命令中必须有GROUP关键字 D:SELECT命令中必须有ORDER关键字 答案:A 153、在SQL查询语句中,下列说法正确的是______。

A:ASC关键字是按升序排序的意思,它必须与ORDER BY关键字一起使用 B:ASC关键字是按降序排序的意思,它必须与ORDER BY关键字一起使用 C:ASC关键字是按升序排序的意思,它可以不与ORDER BY关键字一起使用 D:ASC关键字是按降序排序的意思,它可以不与ORDER BY关键字一起使用 答案:A 154、在SQL查询语句中,下列说法正确的是______。A:DESC关键字必须与ORDER BY关键字一起使用 B:DESC关键字必须与GROUP BY关键字一起使用 C:DESC关键字必须与WHERE BY关键字一起使用 D:DESC关键字必须与INNER JOIN关键字一起使用 答案:A 155、在SQL查询语句中,下列说法正确的是______。A:HAVING子句的作用是对分组后的结果进行过滤 B:HAVING子句的作用是设置查询条件 C:HAVING子句的作用是用来分组的 D:HAVING子句的作用是用来排序的 答案:A 156、根据关系模型Students(ID,学号,课程,成绩),查找所有课程成绩在70分以上学生的学号______。A:SELECT 学号 FROM Students GROUP BY 学号 HAVING Min(成绩)>70 B:SELECT 学号 FROM Students GROUP BY 学号 HAVING 成绩>70 C:SELECT 学号 FROM Students HAVING Min(成绩)>70 D:SELECT 学号 FROM Students HAVING 成绩>70 答案:A 157、”SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号“语 A:连接查询Student表和Scores表 B:复制Student表 C:复制Scores表

D:这是一条错误语句,毫无意义 答案:A 158、”SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号 W A:该语句的查询数据来自一个临时表

B:同时在Student表与Scores表中插入一条学号为“984215”的记录 C:同时在Student表与Scores表中更新一条学号为“984215”的记录 D:这是一条错误语句,毫无意义 答案:A 159、“SELECT Student.姓名,Scores.成绩 FROM Student INNER JOIN Scores ON Student.学号=Scores.学号 W A:该语句能查询出学号为”984215“的学生的姓名与成绩 B:该语句只能查询出学号为”984215“的学生的姓名 C:该语句只能查询出学号为”984215“的学生的成绩 D:这是一条错误语句,毫无意义 答案:A 160、在SQL查询语句中,下列说法不正确的是______。A:INNER JOIN关键字不能分开使用 B:INNER JOIN关键字的作用是连接两个表

C:INNER JOIN关键字必须与WHERE关键字联合使用 D:INNER JOIN关键字仅仅表示一种连接方式 答案:C 161、假设某数据库表中有一个姓名字段,查找姓”仲“的记录的条件是______。A:Not ”仲*“ B:Like ”仲“ C:Left([姓名],1)=”仲“ D:”仲“ 答案:C 162、在查询中,默认的字段显示顺序是______。A:在表的”数据表视图“中显示的顺序 B:添加时的顺序 C:按照字母顺序 D:按照文字笔画顺序 答案:B 163、建立一个基于”学生“表的查询,要查找”出生日期“(数据类型为日期/时间型)在1980-06-06和1980-07 A:between 1980-06-06 and 1980-07-06 B:between #1980-06-06# and #1980-07-06# C:between 1980-06-06 or 1980-07-06 D:beteen #1980-06-06# or #1980-07-06# 答案:B 164、以下关于查询的叙述正确的是______。A:只能根据数据库表创建查询 B:只能根据已建查询创建查询

C:可以根据数据库表和已建查询创建查询 D:不能根据已建查询创建查询 答案:C 165、在查询设计视图中______。A:只能添加数据库表

B:可以添加数据库表,也可以添加查询 C:只能添加查询 D:以上说法都不对 答案:B 166、书写查询条件时,日期值应该用______括起来。A:括号 B:双引号

C:半角的井号(#)D:单引号 答案:C 167、在产品数据库表中,若上调产品价格,最方便的方法是使用以下______方法。A:追加 B:更新 C:删除 D:生成表查询 答案:B 168、根据关系模型Students(学号,姓名)下列SQL语句正确的是______。A:INSERT INTO Students(学号,姓名)VALUES(”984215“,”王海“)B:INSERT INTO Students(”984215“,”王海“)VALUES(学号,姓名)C:INSERT INTO VALUES(学号,姓名)Students(”984215“,”王海“)D:INSERT INTO VALUES(”984215“,”王海“)Students(学号,姓名)答案:A 169、删除表Students中学号为984215的记录,应为______。A:DELETE FROM Students WHERE 学号=”984215“ B:DELETE FROM Students 学号=”984215“ C:DELETE 学号=”984215“ FROM Students D:DELETE FROM Students WHERE 学号 IS ”984215“ 答案:A 170、将表Students中学生王涛的姓名改为王宝,应为______。A:UPDATE Students SET 姓名=”王宝“ WHERE 姓名=”王涛“ B:UPDATE Students SET 姓名=”王涛“ WHERE 姓名=”王宝“ C:UPDATE SET 姓名=”王涛“ WHERE 姓名=”王宝“ FROM Students D:UPDATE SET 姓名=”王宝“ WHERE 姓名=”王涛“ FROM Students 答案:A 171、根据关系模型Students(学号,姓名),下列语句能完成插入一条新记录的是______。A:INSERT INTO Students VALUES(”984215“,”王海“)B:INSERT INTO Students(学号,姓名)C:INSERT(”984215“,”王海“)INTO Students D:INSERT(学号,姓名)INTO Students 答案:A 172、在SQL查询语句中,”UPDATE Teacher SET 工资 = 工资 + 100“的意思是______。A:将Teacher表中的所有记录的工资均增加100 B:将Teacher表中的当前记录的工资增加100 C:将Teacher表中的所有记录的工资均设置为100 D:将Teacher表中的当前记录的工资设置为100 答案:A 173、在SQL查询语句中,”DELETE FROM Teacher WHERE 工资>1115 AND 年龄>40“的意思是______。A:删除Teacher表中工资大于1115并且年龄大于40的记录 B:删除Teacher表中工资大于1115或者年龄大于40的记录

C:删除Teacher表中的记录,但是保留工资大于1115并且年龄大于40的记录 D:删除Teacher表中的记录,但是保留工资大于1115或者年龄大于40的记录 答案:A 174、SQL中的哪个关键字不会对表进行写操作______。A:SELECT B:DELETE C:UPDATE D:INSERT 答案:A 175、在SQL查询语句中,”DELETE FROM Teacher“的意思是______。A:删除Teacher表中的所有记录 B:删除Teacher表

C:删除Teacher表中的当前记录 D:这是一条错误语句 答案:A 176、在SQL查询语句中,下列说法正确的是______。A:一个UPDATE命令一次只能对一个表进行修改 B:一个UPDATE命令同时能对多个表进行修改 C:UPDATE命令不能对表进行修改 D:以上说法均不正确 答案:A 177、在SQL查询语句中,下列说法正确的是______。A:INSERT命令只能对表进行插入新记录的操作 B:INSERT命令也可以完成对表的记录进行更新 C:INSERT命令也可以完成对表的记录进行删除 D:以上说法均不正确 答案:A 178、在SQL查询中使用WHERE子句指出的是______。A:查询目标 B:查询结果 C:查询视图 D:查询条件 答案:D 179、假设某数据表中有一个”生日“字段,删除80年出生的学生记录的语句是______。A:DELETE FROM Student WHERE 生日 Between #80-01-01# And #80-12-31# B:DELETE FROM Student WHERE 生日 Between(”80-01-01“ And ”80-12-31“)C:DELETE FROM Student WHERE 生日 Between(”80.01.01“ And ”80.12.31“)D:DELETE FROM Student WHERE 生日 Between #80.01.01# And #80.12.31# 答案:A 180、在SQL查询语句中,下列说法正确的是______。A:DELETE命令中可以没有FROM关键字 B:DELETE命令中可以没有WHERE关键字 C:DELETE命令中必须有SET关键字 D:DELETE命令中必须有INTO关键字 答案:B 181、在SQL查询语句中,下列说法正确的是______。A:INSERT命令中可以没有INTO关键字 B:INSERT命令中可以没有VALUES关键字 C:INSERT命令中必须有SET关键字 D:以上说法均不正确 答案:D 182、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令中必须有FROM关键字 B:UPDATE命令中必须有WHERE关键字 C:UPDATE命令中必须有SET关键字 D:UPDATE命令中必须有INTO关键字 答案:C 183、在SQL查询语句中,下列说法不正确的是______。A:UPDATE命令用于更新表中的记录 B:INSERT命令用于在表中插入一条新记录 C:DELETE命令用于删除表 D:SELECT命令查询表中的记录 答案:C 184、在SQL查询语句中,下列说法正确的是______。

A:UPDATE命令与GROUP BY关键字一起使用可以对表进行分组更新 B:INSERT命令与GROUP BY关键字一起使用可以对表进行分组插入新记录 C:DELETE命令不能与GROUP BY关键字一起使用 D:SELECT命令不能与GROUP BY关键字一起使用 答案:C 185、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令不能与ORDER BY关键字一起使用

B:INSERT命令与ORDER BY关键字一起使用可以对表的任意位置插入新记录 C:DELETE命令与ORDER BY关键字一起使用可以删除表的最后一条记录 D:SELECT命令与ORDER BY关键字一起使用是毫无意义的 答案:A 186、在工资数据库表中,若给职工涨工资,最方便的方法是使用以下______方法。A:追加 B:更新 C:删除 D:生成表查询 答案:B 187、根据关系模型Teacher(编号,职称)下列SQL语句正确的是______。A:INSERT INTO Teacher(编号,职称)VALUES(”070041“,”助教“)B:INSERT INTO Teacher(”070041“,”助教“)VALUES(编号,职称)C:INSERT INTO VALUES(编号,职称)Teacher(”070041“,”助教“)D:INSERT INTO VALUES(”070041“,”助教“)Teacher(编号,职称)答案:A 188、删除表Teacher中编号为070041的记录,应为______。A:DELETE FROM Teacher WHERE 编号=”070041“ B:DELETE FROM Teacher 编号=”070041“ C:DELETE编号=”070041“ FROM Teacher D:DELETE FROM Teacher WHERE 编号 IS ”070041“ 答案:A 189、将表Teacher中职称字段为”助教“人员改为”讲师“,应为______。A:UPDATE Teacher SET 职称=”助教“ WHERE 职称=”讲师“ B:UPDATE Teacher SET 职称=”讲师“ WHERE 职称=”助教“ C:UPDATE SET 职称=”助教“ WHERE 职称=”讲师“ FROM Teacher D:UPDATE SET 职称=”讲师“ WHERE 职称=”助教“ FROM Teacher 答案:B 190、根据关系模型Teacher(编号,姓名),下列语句能完成插入一条新记录的是______。A:INSERT INTO Teacher VALUES(”070044“,”付强“)B:INSERT INTO Teacher(学号,姓名)C:INSERT(”070044“,”付强“)INTO Teacher D:INSERT(学号,姓名)INTO Teacher 答案:A 191、根据关系模型Teacher(ID,姓名),下列语句能完成更新记录的是______。A:UPDATE Teacher SET 姓名=姓名 & ”优秀“ B:UPDATE SET 姓名=姓名 & ”优秀“ FROM Teacher C:INSERT Teacher SET 姓名=姓名 & ”优秀“ D:INSERT SET 姓名=姓名 & ”优秀“ FROM Teacher 答案:A 192、在SQL查询语句中,”UPDATE Student SET 补助=补助+1.2“的意思是______。A:将Student表中的所有记录的补助均增加1.2 B:将Student表中的当前记录的补助增加1.2 C:将Student表中的所有记录的补助均设置为1.2 D:将Student表中的当前记录的补助设置为1.2 答案:A 193、在SQL查询语句中,”DELETE FROM Student WHERE 成绩<60 AND 学年>4“的意思是______。A:删除Student表中成绩小于60并且学年大于4的记录 B:删除Student表中成绩小于60或者学年大于4的记录

C:删除Student表中的记录,但是保留成绩小于60并且学年大于4的记录 D:删除Student表中的记录,但是保留成绩小于60或者学年大于4的记录 答案:A 194、SQL中的哪个关键字绝对不会对表的记录进行更改______。A:INSERT B:DELETE C:UPDATE D:SELECT 答案:D 195、在SQL查询语句中,”DELETE FROM Pub“的意思是______。A:删除Pub表中的所有记录 B:删除Pub表

C:删除Pub表中的当前记录 D:这是一条错误语句 答案:A 196、在SQL查询语句中,下列说法正确的是______。A:一个DELETE命令一次只能对一个表记录进行删除 B:一个DELETE命令同时能对多个表记录进行删除 C:DELETE命令不能对表记录进行删除 D:以上说法均不正确 答案: 197、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令只能对表进行插入新记录的操作 B:UPDATE命令也可以完成对表的记录进行更新 C:UPDATE命令也可以完成对表的记录进行删除 D:以上说法均不正确 答案:B 198、在SQL查询中使用WHILE子句指出的是______。A:查询目标 B:查询结果 C:查询视图 D:没有这个子句 答案:D 199、假设某数据表中有一个”生日“字段,删除60 年上半年出生的人员记录的语句是______。A:DELETE FROM Teacher WHERE 生日 Between #60-01-01# And #60-6-30# B:DELETE FROM Teacher WHERE 生日 Between(”60-01-01“ And ”60-6-30“)C:DELETE FROM Teacher WHERE 生日 Between(”60.01.01“ And ”60.6.30“)D:DELETE FROM Teacher WHERE 生日 Between #60.01.01# And #60.6.30# 答案:A 200、在SQL查询语句中,下列说法正确的是______。A:DELETE命令中必须有FROM关键字 B:DELETE命令中必须有WHERE关键字 C:DELETE命令中必须有VALUES关键字 D:DELETE命令中必须有INTO关键字 答案:A 201、在SQL查询语句中,下列说法正确的是______。A:INSERT命令中必须有INTO关键字 B:INSERT命令中必须有VALUES关键字 C:INSERT命令中必须有SET关键字 D:以上说法均不正确 答案:A 202、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令中必须有FROM关键字 B:UPDATE命令中可以没有WHERE关键字 C:UPDATE命令中可以没有SET关键字 D:UPDATE命令中必须有INTO关键字 答案:B 203、在SQL查询语句中,下列说法正确的是______。A:UPDATE命令一般不用于更新表中的记录 B:INSERT命令用于在表中插入一条新记录 C:DELETE命令只能用于删除表

D:SELECT命令可以对表中的记录进行更改 答案:B 204、在Access数据库中,表就是______。A:关系 B:记录 C:索引 D:数据库 答案:A 205、ODBC的中文含义是______。A:浏览器/服务器 B:客户/服务器 C:开放数据库连接 D:关系数据库管理系统 答案:C 206、数据模型反映的是______。

A:事物本身的数据和相关事物之间的联系 B:事物本身所包含的数据 C:记录中所包含的全部数据 D:记录本身的数据和相关关系 答案:A 207、能够使用”输入掩码向导“创建输入掩码的字段类型是______。A:数字和日期/时间 B:文本和货币 C:文本和日期/时间 D:数字和文本 答案:C 208、Access数据库表中的字段可以定义有效性规则,有效性规则是______。A:控制符 B:文本 C:条件

D:前三种说法都不对 答案:C 209、在课程表中要查找课程名称中包含”计算机“的课程,对应”课程名称“字段的正确条件表达式是______。A:”计算机“ B:”*计算机*“ C:Like ”*计算机*“ D:Like ”计算机“ 答案:C

210、某窗体中有一命令按钮,在”窗体视图“中单击此命令按钮,运行另一个应用程序。如果通过调用宏对象完 A:RunApp B:RunCode C:RunMacro D:RunSQL 答案:A

211、建立一个基于”学生“表的查询,要查找”出生日期“(数据类型为日期/时间型)在1980-06-06和1980-07 A:between 1980-06-06 and 1980-07-06 B:between #1980-06-06# and #1980-07-06# C:between 1980-06-06 or 1980-07-06 D:beteen #1980-06-06# or #1980-07-06# 答案:B

212、创建交叉表查询,在”交叉表“行上有且只能有一个的是______。A:行标题和列标题 B:行标题和值

C:行标题、列标题和值 D:列标题和值 答案:B

213、要显示格式为”页码/总页数“的页码,应当设置文本框控件的控件来源属性为______。A:[Page]/[Pages] B:=[Page]/[Pages] C:[Page]&”/“&[Pages] D:=[Page]&”/“&[Pages] 答案:D

214、在报表每一页的底部都输出信息,需要设置的区域是______。A:报表页眉 B:报表页脚 C:页面页眉 D:页面页脚 答案:D

215、如果设置报表上某个文本框的控件来源属性为”=7 Mod 4“,则打印预览视图中,该文本框显示的信息为_ A:未绑定 B:3 C:7 Mod 4 D:出错 答案:B

216、为窗体或报表上的控件设置属性值的宏操作是______。A:Beep B:Echo C:MsgBox D:SetValue 答案:D

217、要限制宏操作的操作范围,可以在创建宏时定义______。A:宏操作对象 B:宏条件表达式 C:窗体或报表控件属性 D:宏操作目标 答案:B

218、在宏的条件表达式中,要引用”rptT“报表上名为”txtName“控件的值,可以使用的引用表达式是______。A:Reports!rptT!txtName B:Report!txtName C:rptT!txtName D:txtName 答案:A

219、在Access中,自动启动宏的名称是______。A:AutoExec B:Auto C:Auto.bat D:AutoExec.bat 答案:A 220、以下关于VBA运算符优先级比较,正确的是______。A:算术运算符>逻辑运算符>关系运算符 B:逻辑运算符>关系运算符>算术运算符 C:算术运算符>关系运算符>逻辑运算符 D:以上均是错误的 答案:C 221、定义一个二维数组A(2 to 5,5),该数组的元素个数为______。A:20 B:24 C:25 D:36 答案:B 222、在VBA中,如果没有显式声明或用符号来定义变量的数据类型,变量的默认数据类型为______。A:Boolean B:Int C:String D:Variant 答案:D 223、使用VBA的逻辑值进行算术运算时,True值被处理为______。A:-1 B:0 C:1 D:任意值 答案:A 224、在数据访问页的工具箱中,为了设置一个超级链接,应该选择的图标是______。A: B: C: D: 答案:A 225、用二维表来表示实体及实体之间联系的数据模型是______。A:实体-联系模型 B:层次模型 C:网状模型 D:关系模型 答案:D 226、数据库系统的核心是______。A:数据库 B:数据库管理员 C:数据库管理系统 D:文件 答案:C 227、退出Access数据库管理系统可以使用的快捷键是______。A:Alt+F+X B:Alt+X C:Ctrl+C D:Ctrl+O 答案:A 228、Access表中字段的数据类型不包含______。A:文本 B:备注 C:通用 D:日期/时间 答案:C 229、有关字段属性,以下叙述错误的是______。

A:字段大小可用于设置文本、数字或自动编号等类型字段的最大容量 B:可对任意类型的字段设置默认值属性

C:有效性规则属性是用于限制此字段输入值的表达式 D:不同的字段类型,其字段属性有所不同 答案:B 230、以下关于查询的叙述正确的是______。A:只能根据数据库表创建查询 B:只能根据已建查询创建查询

C:可以根据数据库表和已建查询创建查询 D:不能根据已建查询创建查询 答案:C 231、以下不属于操作查询的是______。A:交叉表查询 B:更新查询 C:删除查询 D:生成表查询 答案:A 232、假设某数据库表中有一个姓名字段,查找姓仲的记录的条件是______。A:Not ”仲*“ B:Like ”仲“ C:Left([姓名],1)=”仲“ D:”仲" 答案:C 233、下面关于列表框和组合框的叙述正确的是______。A:列表框和组合框可以包含一列或几列数据 B:可以在列表框中输入新值,而组合框不能 C:可以在组合框中输入新值,而列表框不能 D:在列表框和组合框中均可以输入新值 答案:C 234、窗口事件是指操作窗口时所引发的事件,下列不属于窗口事件的是______。A:打开 B:关闭 C:加载 D:取消 答案:D 235、以下叙述正确的是______。A:报表只能输入数据 B:报表只能输出数据 C:报表可以输入和输出数据 D:报表不能输入和输出数据 答案:B 236、关于报表数据源设置,以下说法正确的是______。A:可以是任意对象 B:只能是表对象 C:只能是查询对象

D:只能是表对象或查询对象 答案:D 237、在报表设计中,以下可以做绑定控件显示字段数据的是______。A:文本框 B:标签 C:命令按钮 D:图像 答案:A 238、要设置在报表每一页的顶部都输出的信息,需要设置______。A:报表页眉 B:报表页脚 C:页面页脚 D:页面页眉 答案:D 239、要在文本框中显示当前日期和时间,应当设置文本框的控件来源属性为______。A:=Date()B:=Time()C:=Now()D:=Year()答案:C 240、将Access数据库中的数据发布在Internet网络上可以通过______。A:查询 B:窗体 C:表

D:数据访问页 答案:D 241、能够创建宏的设计器是______。A:窗体设计器 B:报表设计器 C:表设计器 D:宏设计器 答案:D 242、在条件宏设计时,对于连续重复的条件,要替代重复条件式可以使用下面的符号______。A:...B:= C:,D:; 答案:A 243、VBA的自动运行宏,应当命名为______。A:AutoExec B:AutoExe C:Auto D:AutoExec.bat 答案:A 244、VBA中定义符号常量可以用关键字______。A:Const B:Dim C:Public

第三篇:C语言程序设计题库

郑州大学现代远程教育

《C语言程序设计》课程

学习指导书

柳宏川 编

第1章

绪论

(一)本章学习目标

掌握结构化程序设计的思想,结构化流程图描述,算法设计基础和良好程序设计风格。

(二)本章重点、要点

C语言特点,算法概念及NS图形描述,结构化程序设计思想,三种基本结构:顺序结构、选择结构和循环结构,使用良好的程序设计风格。

(三)练习题

1_1.什么是低级语言? 1_2.什么是高级语言?

1_3.面向过程语言的特点是什么? 1_4.什么是算法? 1_5.算法有什么特点?

1_6.结构化算法的基本结构有哪些? 1_7.结构化程序设计的标准有哪些?

第2章

C语言程序的开发过程

(一)本章学习目标

熟悉C程序开发环境,熟练掌握调试工具的使用,掌握C语言程序结构与语法规则。

(二)本章重点、要点

C程序开发环境工具的使用,C语言程序结构与语法规则。

(三)Turbo C 的操作指南

开发一个C语言程序一般包括3个主要步骤:编辑,编译和连接。掌握调试C语言程序的全过程。

 编辑:根据求解算法,开发人员使用文本编辑器编辑代码,生成源程序代码,扩展

   1)2)  名为.C。

编译:编译时,编译器首先检查源程序中每条语句的词法和语法。当发现错误时,在屏幕上显示错误的位置、错误类型等相关信息。根据错误信息,重新使用编辑器进行查错并修改,然后重新编译直到所有的词法和语法错误都被排除。正确编译后产生二进制目标文件,扩展名为.OBJ。

连接:编译后产生的目标文件是可重定位的程序模块,但不能直接运行。连接是将目标程序、库函数和其它目标程序连接到一起,生成可执行的程序。扩展名为.EXE。运行:源代码经过编译、连接,生成可执行程序后,就可以进行程序的运行了。编译过程发现的错误可分为两类。

一类是局部语法错误。例如,缺失了分号、逗号,或者引用了错误的数据对象。另一类是程序内部上下文关系方面的错误。例如,需要使用的数据对象没有定义。连接时,也可能产生错误。例如,连接文件找不到等,具体不再叙述。

源代码经过编译、连接,生成可执行程序后,还需要进行测试。测试的目的是发现程序的错误。一般通过输入一些实际数据来验证程序执行结果的正确性。如果程序执行中出现问题,或发现程序的输出结果不正确,需要设法找到出错的原因,并修改源程序,重新进行编译、连接,再测试和调试,不断反复,直到程序正确无误。

第3章

基本数据类型

(一)本章学习目标

熟练掌握标识符的概念,基本数据(整型、实型、字符型等),常量,转义符,变量,变量的赋值。

(二)本章重点、要点

标识符的组成规则,基本数据类型及对应的名称(整型、实型、字符型等),常量,转义符,变量,变量名,变量的赋值等。

(三)练习题

3_1.基本整型数据的输出。3_2.实型数据的输出。3_3.字符型数据的输出。

3_4.C语言标识符的命名规则如何? 3_5.C语言的基本数据类型有哪些? 3_6.什么是常量? 3_7.什么是变量?

3_8.转义字符有什么作用?举例说明。

3_9.字符串常量与字符常量的表示有什么不同?

(二)本章重点、要点

循环控制语句:while语句,do…while语句,for语句,循环初始条件、循环终止条件、循环体和循环变量,循环的嵌套,辅助控制语句,continue语句,break语句,goto语句。

(三)练习题

7_1.用while语句,求连加式1 + 2 +...+ n(n > 2)的值。7_2.用do…while语句,求连加式1 + 2 +...+ n(n > 2)的值。7_3.求解奇数的连加式1 + 3 + 5 +...+ n(n > 10)的值。7_4.将如图所示的三角形图案显示到屏幕上。

7_5.判断一个整数是否为素数。

第8章

函数

(一)(一)本章学习目标

熟知函数的结构,正确进行函数定义,掌握函数头部,函数体,函数的返回值等概念,理解函数的功能,理解函数参数的意义,掌握有参函数的调用和无参函数的调用,掌握运用函数调用的方式,掌握函数的声明方法,理解函数的原型的概念。

(二)本章重点、要点

函数的定义,函数头部,函数体,函数的值,返回语句,函数的功能,函数的调用,有参函数的调用,无参函数的调用,函数调用的方式,函数的声明与函数的原型。

(三)练习题

8_1.编写程序,通过调用函数imin,求两个表达式的最小值。

8_2.编写程序,通过调用PtrStar函数,输出4行“@”号,每行10个。

8_3.编写程序,输入一个年份,通过调用函数判断其是否为闰年。

8_4.编写程序,输入两个数,输出其中绝对值最大的数。要求:求绝对值和求最大值分别使用函数完成,在求最大值的函数中调用求绝对值的函数。8_5.编写函数,完成显示下列所示的三角形图案,行数由函数参数决定。

8_6.编写程序,通过调用【实例8_5】中的函数,输出三个三角形的图案。

第9章

数组

(一)本章学习目标

张确使用一维数组和二维数组去解决问题。学会使用数组作为函数参数、数组元素作为函数的参数和数组名作为函数参数的方法。

(二)本章重点、要点

一维数组,一维数组的定义,一维数组元素的引用,一维数组在内存中的存储,一维字符数组的说明。二维数组,维数组的定义,二维数组元素的引用,二维数组在内存中的存储。数组作为函数参数,数组元素作为函数的参数,数组名作为函数参数。

(三)练习题

9_1.用随机函数产生15个100以内的随机整数存入一维数组,然后分三行输出,每行5个数

9_2.将一个一维数组a[9]中各元素值按行的顺序放入二维数组b[3][3]中。9_3.将一个二维数组b[5][5]中各元素值列优先的顺序放入一维数组a[25]中。9_4.有一个m×n矩阵,各元素值由随机数产生,求其转置矩阵并输出。

9_5.有一个m×n矩阵,找出最大元素值及其最大元素值所在的行、列位置。9_6.将矩阵M(n,n)对角线上的元素置为1,其余元素置为0。

第10章

结构体与共用体

(一)本章学习目标

掌握并正确使用结构体类型、结构体与数组,共用体,共用体类型。

(二)本章重点、要点

结构体类型的定义,结构体变量的定义,结构体变量的引用,结构体成员变量的引用,结构体变量的初始化。结构体与数组,共用体,共用体类型和共用体变量的定义,共用体变量的引用。

(三)练习题

10_1.设有学生信息如下:学号(长整型)、姓名(字符串型)、年龄(整型)、课程1成绩(实型)、课程2成绩(实型)、课程3成绩(实型)、课程4成绩(实型)、课程5-6

读写。

(三)练习题

12_1.利用文本编辑软件在磁盘上建立一个有n个学生的学号、姓名及英语、数学和计算机三门课程成绩的数据文件。编写程序将建立的数据文件读出且求出每个学生的平均成绩。12_2用定义结构类型的方法,编写程序建立一个具有学生学号、姓名、总分和联系电话的记录文件。12_3编写程序,利用第12_2建立的记录文件,从键盘上输入一个学号,查寻该位同学信息。12_4编写程序,将第12_3题建立的文件复制到另一个文件。

第13章

运算符与表达式

(一)本章学习目标

深入理解运算符和表达式,掌握位运算方法。

(二)本章重点、要点

运算符与表达式,赋值运算符,复合赋值运算符,赋值表达式,赋值运算符的优先级和结合方向。逗号运算符与逗号表达式,逗号表达式的求解顺序,逗号运算符的优先级,逗号运算符的扩展形式。条件运算符与条件表达式,条件运算符的求解顺序,条件运算符的优先级,条件运算符的结合方向,条件表达式的其它形式。自增自减运算符,前置运算,后置运算,自增自减运算符的优先级与结合方向,位运算,位运算符,位运算的功能,与位运算有关的复合赋值运算符,不同长度的数据的位运算,表达式的求解。

(三)练习题

13_1.利用条件运算符实现大小写字母的转换。

13_2.使用for循环求1至100的和。要求将所有的命令放入一个for循环结构。13_3.将下列符号函数使用一个条件表达式完成。

13_4.若int a=0,b=1,c=2,判断下列表达式执行后a,b,c及表达式的值(1)逻辑表达式

a++&&b++&&c++(2)逻辑表达式

++a&&b++&&c++(3)逻辑表达式

++a&&--b&&c++(4)逻辑表达式

a++||b++||c++(5)逻辑表达式

++a||b++||c++(6)逻辑表达式

a++||--b||c++(7)逻辑表达式

a++||b++&&(c-=2)(8)逻辑表达式

a++&&b++||(c-=2)(9)逻辑表达式

++a&&b++||(c-=2)

13_5.若a=1,b=2,c=3,d=4,m=1,n=3,则逻辑表达式(m=a>b)&&(n=c>d)13_6.解释x!= 0.0 && y/x > 1.0的功能。

第14章

变量的存储

(一)本章学习目标

掌握变量的存储概念,理解变量的类别和作用域。

(二)本章重点、要点

变量的存储单元,整型变量在内存中的存储,字符型变量在内存中的存储,实型变量在内存中的存储。变量的作用域,内部变量,外部变量,变量的生存期,auto变量,全局变量,static变量,register变量。

(三)练习题

14_1.在C语言中,变量的存储类别有哪4种? 14_2.什么是外部变量?其特点有哪些? 14_3.寄存器变量有什么特点? 14_4.什么是变量的作用域? 14_5.什么是变量的生存期?

第15章

指针

(二)(一)本章学习目标

深入理解指针,掌握高层次指针应用,掌握链表的使用。

(二)本章重点、要点

指针与数组,一维数组与一维数组指针,二维数组的指针及数组元素的访问,字符串指针。指针数组,指针数组,指向指针的指针,main函数的参数,函数指针。结构体指针,指向结构体的指针,指向结构体数组的指针,存储管理函数。链表,链表的概念,单链表的基本操作。

(三)练习题

15_1.编写一个程序,用12个月份的英文名称初始化一个字符指针数组,当键盘输入整数为1到12 时,显示相应的月份名,键入其他整数时显示错误信息。15_2.调用MaxMin函数,返回数组的最大值和最小值。

第16章

函数

(二)(一)本章学习目标

深入理解函数,从存储方面解释函数的调用。

(二)本章重点、要点

函数调用时的内存,函数的活动,程序运行时存储空间的划分,函数的活动记录。参数的传递机制,C语言参数传递,指针参数,数组参数。递归函数,直接递归与间接递归,递归函数的调用过程。

(三)练习题

16_1.设计一个函数把两个整数形参中较大的那个数的地址作为函数值返回,并编写主函数实现调用。

16_2.编写函数,比较两个字符串大小。若相等返回0,大于时返回1,否则返回-1。

第17章

预处理命令

(一)本章学习目标

正确理解预处理命令的概念,掌握预处理命令的使用方法。

(二)本章重点、要点

宏定义,无参宏定义,带参宏定义,宏的作用域。带参的宏与函数的区别,文件包含,条件编译,“# ifdef”命令,“# ifndef”命令,“# if”命令,条件编译和条件语句的比较。

(三)练习题

17_1.C语言的预处理有哪些?

17_2.预处理命令在书写格式上有什么要求?

17_3.#include <文件名>和#include “文件名”有什么不同? 17_4. 条件编译和条件语句有什么区别?

参考答案

第1章 绪论

1_1.什么是低级语言?

答:低级语言较依赖于所在的计算机系统,也称为面向机器的语言。使用低级语言编写的程序,移植性较差。低级语言主要包括机器语言和汇编语言。

机器语言是由二进制代码“0”和“1”组成的若干个数字串。用机器语言编写的程序,称为机器语言程序。机器语言程序能够被计算机直接识别并执行。但是,程序员直接编写或维护机器语言程序是很难完成的。

汇编语言是一种借用助记符表示的程序设计语言。汇编语言的每条指令都对应着一条机器语言代码。汇编语言也是面向机器的,即不同类型的计算机系统使用的汇编语言也不同。1_2.什么是高级语言?

答:高级语言编写的程序易读,易修改,移植性好。但使用高级语言编写的程序不能直接在机器上运行,必须经过语言处理程序的转换,才能被机器识别。按照转换方式的不同,可将高级语言分为解释型和编译型两大类。1_3.面向过程语言的特点是什么?

答:(1)采用模块分解与功能抽象的方法,自顶向下,逐步求精。(2)按功能划分为若干个基本的功能模块,形成一个树状结构。各模块间的关系尽可能简单,功能上相对独立。每一个功能模块内部都是由顺序、选择或循环三种基本结构组成。1_4.什么是算法?

答:问题的求解过程,是对数据对象的加工过程。问题的求解过程包括两个方面的内容,即对问题涉及的“数据”进行描述和对“加工过程”进行描述。对“数据”的描述,称为“数据结构”,对“加工过程”的描述,称为算法。1_5.算法有什么特点? 答:算法具有以下特点:

(1)有穷性。一个算法包含的操作步骤是有穷的,而不能是无穷的,并且操作时一般还要求是合理可行的。

(2)确定性。算法的每个操作都是确定的,而不应该具有二义性。

(3)有零个或多个输入。“输入”指的是执行算法时,需要从外界获取的必要信息。

(4)有一个或多个输出。算法的目的是为了得到计算的结果。一般地,计算结果即为输出。没有输出的算法是没有意义的。

(5)有效性。算法的每一个操作都应能有效地执行,并得到确定的结果。1_6.结构化算法的基本结构有哪些?

答:(1)顺序结构。(2)选择结构。(3)循环结构。

1121314num2 * num2;printf(“%d ^ 2 + %d ^ 2 = %dn”, num1, num2, SquareSum);printf(“%d ^ 264)% 26 + 65;printf(”%c's back is %cn“, ch, BackCh);return 0;} 第5章 C语言程序的输出与输入

325_1.编写程序求多项式 ax+bx+c的值(键盘输入a=2, b=3, c=4, x=1.414)。# include int main(){ float a,b,c,x,y;printf(”Input a,b,c,x: “);scanf(”%f%f%f%f“, &a,&b,&c,&x);/*数据之间以空格分隔*/

y = a*x*x+b*x*c;printf(”%fx^2+%fx+%f=%fn“, a,b,c,y);getchar();getchar();return 0;} 变化二:

# include int main(){ float a,b,c,x,y;printf(”Input a,b,c,x: “);scanf(”%f%f%f%f“, &a,&b,&c,&x);/*数据之间以空格分隔*/ y = a*x*x+b*x*c;printf(”%.0fx^2+%.0fx+%.0f=%fn“, a,b,c,y);getchar();getchar();return 0;} 变化三:

# include int main(){ int a,b,c;float x,y;printf(”Input a,b,c,x: “);scanf(”%d%d%d%f“, &a,&b,&c,&x);/*数据之间以空格分隔*/ y = a*x*x+b*x*c;printf(”%dx^2+%dx+%d=%fn“, a,b,c,y);getchar();getchar();return 0;} 运行结果参见变化二的结果图。

5_2.已知华氏温度,根据公式:C = 5/9(F-32),求摄氏温度C(结果保留两位小数)。#include int main(){ float f,c;printf(”Input f: “);scanf(”%f“, &f);c = 5.0/9*(f-32);/* 因为整除的原因,使用了5.0,而不是5 */ printf(”C=%fn“, c);return 0;} 5_3.使用宏定义定义符号常量 PI,其值为3.14159,并使用符号常量,求圆半径r=2.456时的圆周长、圆面积。

#include #define PI 3.14159 int main(){ float r,c,s;printf(”Input r: “);scanf(”%f“, &r);c = 2*PI*r;s = PI*r*r;printf(”C=%fnS=%fn“, c,s);return 0;} 注:也可以采用赋值的方式对r赋值2.456。

5_4.用getchar()分别输入‘A’,‘B’,‘C’,并赋值给a,b,c, 然后将其转换成对应的小写字母,用putchar()将其输出。#include #include int main(){ char a,b,c;printf(”Input Upper Characters A,B,C: “);/* 输入时ABC之间不能有空格!*/ a=getchar();b=getchar();c=getchar();a = a+32;b = b-'A'+'a';c = tolower(c);printf(”a=“);putchar(a);putchar('n');printf(”b=“);putchar(b);putchar('n');printf(”c=“);putchar(c);putchar('n');return 0;} 5_5.若a=3,b=4,c=5,编写程序,要求用一个scanf()函数完成输入,按以下要求的格式输出:

x1=a+b+c= 3+ 4+ 5= 12 x2=a-b-c= 3-4-5=-6 #include #include int main(){ int a,b,c;printf(”a=“);scanf(”%d“,&a);

printf(”b=“);scanf(”%d“,&b);printf(”c=“);scanf(”%d“,&c);printf(”x1=a+b+c=%d+%d+%d=%dn“,a,b,c,a+b+c);printf(”x1=a-b-c=%d-%d-%d=%dn“,a,b,c,a-b-c);return 0;}

第6章 流程控制—选择控制结构

6_1.使用if语句,求解两个数中的最大值。/*程序功能:输入两个数,输出其中的大者*/ # include int main(){ int num1, num2;printf(”Input two numbers: “);scanf(”%d %d“, &num1, &num2);if(num1 >= num2){ printf(”max num is %d“, num1);} else { printf(”max num is %d“, num2);} return 0;} 6_2.使用switch语句,求解简单算术表达式的值。int main(){ int num1, num2, result;char ch;printf(”Input a expression(e.g.3 + 5): “);scanf(”%d%c%d“, &num1, &ch, &num2);switch(ch)/*根据ch的值,选择分支执行*/ {case '+': result = num1 + num2;

break;/*求和完毕,退出当前switch语句*/ case '-': result = num1181932;

break;

} break;case 1: /*是大写英文字母*/ ch2 = ch1 + 32;break;} printf(”Input: %cnOutput: %cn“, ch1, ch2);return 0;} 6_6.编写程序,输入一个年份,判断其是否为闰年。

分析:一个年份,当且仅当符合下列两个条件之一的,即是闰年。能被4整除,但不能被100整除的年份。例如,1992年、2008年。能被400整除的年份。例如,2000年、2400年。

用flag的值,表示是否为闰年。如果flag的值为1,表示闰年;如果是0,表示非闰年。# include

int main(){ int year, flag;printf(”Input a year: “);scanf(”%d“, &year);if(year % 4 == 0){ if(year % 100!= 0)flag = 1;else { if(year % 400 == 0)flag = 1;else flag = 0;} } else flag = 0;if(flag)printf(”%d is a leap yearn“, year);else printf(”%d is not a leap yearn“, year);return 0;} 第7章 流程控制—循环控制结构

7_1.用while语句,求解连加式1 + 2 + „+ n(n > 2)的值。# include int main(){ int i = 1,sum = 0,n;

printf(“Input a number: ”);

scanf(“%d”,&n); while(i <= n){ sum = sum + i;i=i+1;} printf(“1 + 2 +...+ %d = %dn”,n,sum); return 0; } 7_2.用do„while语句,求连加式1 + 2 +...+ n(n > 2)的值。# include int main(){ int i = 1, n;long product = 1;printf(”Input a number: “);

scanf(”%d“, &n);do { product = product * i;i = i + 1;} while(i <= n);/*累乘i,直到i超过n为止*/ printf(”1 * 2 *...* %d = %ldn“, n, product);return 0;} 7_3.求解奇数的连加式1 + 3 + 5 +...+ n(n > 10)的值。# include int main(){ int i, sum = 0;int n;printf(”Input a number: “);scanf(”%d“, &n);for(i = 1;i <= n;i = i + 2){ sum = sum + i;} printf(”1 + 3 + 5 +...+ %d = %dn“, ii;){ printf(” “);j = j + 1;} /*第i行输出31)

{ printf(”*“);j = j + 1;} /*第i行输出2 * i23242526i;){ printf(” “);j = j + 1;} /*第i行输出n1){ printf(”*“);j = j + 1;} /*第i行输出2 * ii;){ printf(” “);j = j + 1;} /*第i行输出n271){ printf(”*");j = j + 1;} /*第i行输出2 * i2829303******4

若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:└┘代表空格)

A.10A└┘20B

B.10└┘A20B C.10 └┘A└┘20└┘ B

D.10A20└┘B 43.若变量已正确说明为float类型,要通过语句scanf(”%f %f%f”, &a, &b, &c);给a赋予10.0,b赋予22.0,c赋予33.0,不正确的输入形式为()。

A.10<回车>

B.10.0,22.0,33.0<回车>

22<回车>

C.10.0<回车>

D.10

22<回车> 22.0

33.0<回车>

33<回车> 44.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是()。(注:└┘代表空格)int x1,x2; char y1,y2;

scanf(”%d%d”,&x1,&x2);scanf(”%c%c”, &y1,&y2);A.1020AB

B.10└┘20└┘ABC C.10└┘20

D.10└┘20AB AB 45.已有定义int a=-2;和输出语句:printf(”%8lx”,a);以下正确的叙述是()。A.整型变量的输出格式符只有%d一种

B.%x是格式符的一种,它可以适用于任何一种类型的数据 C.%x是格式符

D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度 46.有如下程序段,对应正确的数据输入是()。float x,y;scanf(”%f%f”, &x,&y);printf(”a=%f,b=%f”, x,y);A.2.04<回车>

B.2.04,5.67<回车>

5.67<回车> C.A=2.04,B=5.67<回车>

D.2.055.67<回车> 47.有如下程序段,从键盘输入数据的正确形式应是()。(注:└┘代表空格)float x,y,z;scanf(“x=%d,y=%d,z=%d”,&a,&y,&z);A.123

B.x=1,y=2,z=3 C.1,2,3

D.x=1└┘ y=2└┘ z=3 48.以下说法正确的是()。

A.输入项可以为一个实型常量,如scanf(”%f”,3.5);B.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,&f);D.当输入数据时,必须指明变量的地址,如scanf(”%f”,&f);49.根据定义和数据的输入方式,输入语句的正确形式为:()。(注:└┘代表空格)已有定义:float x,y;

数据的输入方式:1.23<回车>

4.5<回车> A.scan(”%f,%f”,&x,&y);

B.scanf(”%f%f”,&x,&y);C.scanf(”%3.2f└┘%2.1f”,&x,&y);

D.scanf(”%3.2f%2.1f”,&x,&y);50.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。#include ”stdio.h” main(){char s1,s2,s3;输入语句;

printf(”%c%c%c”,s1,s2,s3);} 输入形式:A└┘B└┘C<回车>

(注:└┘代表空格)输出形式:A└┘B A.scanf(”%c%c%c”,&s1,&s2,&s3);B.scanf(”%c└┘%└┘c%c”,&s1, &s2,&s3);C.scanf(”%c,%c,%c”,&s1,&s2,&s3);D.scanf(”%c%c”, &s1, &s2,&s3);51.以下程序的执行结果是:()。#include ”stdio.h” main(){ int x=2,y=3;printf(”x=%%d,y=%%dn”,x,y);} A.x=%2,y=%3

B.x=%%d,y=%%d C.x=2,y=3

D.x=%d,y=%d 52.以下程序的输出结果是()。(注:└┘代表空格)#include ”stdio.h” main(){ printf(”nstring1=%15s*”, ”programming”);printf(”nstring2=%-5s*”, ”boy”);printf(”string3=%2s*”, ”girl”);} A.string1=programming└┘└┘└┘└┘*

B.string1=└┘└┘└┘└┘programming*

string2=boy*

string2=boy└┘└┘*string3=gi*

string3=gi*

C.string1=programming└┘└┘└┘└┘*

D.string1=└┘└┘└┘└┘programming*

string2=└┘└┘boy*string3=girl*

string2=boy└┘└┘*string3=girl* 53.根据题目中已给出的数据的输入和输出形式,程序中输入输出语句的正确内容是()。#include ”stdio.h” main(){ int a;

float b;

748

第四篇:c语言填空题题库

二,填空题(10道小题,共20分)

1、一个C源程序中至少应包含一个[main] 函数。

2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2]

3、int m=5,y=2;则表达式y+=y-=m*=y的值为。[-16]

4、执行下列语句: int a=1, b=2;a=a+b;b=a-b;a=a-b;printf(“%d , %d n”, a,b);的输出结果分别是[2,1]

5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型

6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。

#include main(){ char c;while((c=getchar())!='?')putchar(++c)} [sjhiu?]

7、C语言中的数组必须先[定义],然后使用。

8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。

9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2]

10、以下程序

void fun(char *a, char *b){ a=b;(*a)++;} main(){ char c1=“A”, c2=“a”, *p1, *p2;p1=&c1;p2=&c2;fun(p1,p2);printf(“&c&cn”,c1,c2);} 运行后的输出结果是。[&c&c]

11、字符串常量“123”在内存中的字节数是。[8字节]

12、已有定义 :int x=3;则表达式 :x=x+1.78 的值是。【4】

13、int a=24;printf(“%o ”, a);输出结果是。【30】

14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】

15、下面程序的运行结果是。【x=1,y=20】 #include main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0){x=x+i;i++;} y=y+i++;} while(i<=7);printf(“x=%d,y=%dn”,x,y);}

16、以下语句char str[10]={“China”};printf(“%d”,strlen(str))的输出结果是。[5]

17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。[用大写字母表示]

18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf(“%d,%d”,p,*p);”的输出结果是。【4000,5】

19、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf(“%dn”,m);} 的运行结果是。【15】

20、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。

21、在C语言程序中,符号常量的定义要使用【宏定义】 预处理命令。

22、逻辑运算符!是[自右至左] 结合性。

23、下面的程序的运行结果是。【s=254】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;} printf(“s=%d”,s);} 24[strcat](字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1 中字符串的后面,并删去字符串1后的串标志“”。

25、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是[整形]。

26、数组在内存中占用一段连续的存储空间,它的首地址由 【数组名】表示 27若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是 【12】

28、在一个C源程序中,注释部分二侧的分界符为。【/*和*/】

29、在C语言程序中,转义字符“n”的功能是 [换行]。30、当a=5,b=4,c=2时,表达式a>b!=c的值是。【1】

32、在C语言程序中,用关键字 定义字符型变量。33若m是一个三位数,则百位数字为

34、执行下列语句:float a;int b;a = b =24.5/5;printf(“%f,%d” , a, b);输出结果是 【4.000000,4】

35、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为,n的值为

36、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是。[1]

37、当运行以下程序时,从键盘输入-1 0(表示回车),则下面程序的运行结果是。[m=4,n=2] #include main(){ int a,b,m,n;m=n=1;scanf(“%d%d”,&a,&b);do{ if(a>0){m=2*n;b++;} else{n=m+n;a+=2;b++;} }while(a==b);printf(“m=%d n=%d”,m,n);}

38、C语言规定了以字符[‘’] 作为字符串结束标志。

39、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上[static] 修饰。

40、对数组元素的引用方法有下标法和[指针法] 两种。

41、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a 有4个元素,每个元素都是[指针变量]。

42、在C语言中,八进制整型常量以【0】 作为前缀。

43、已有定义 :int x=0,y=0;, 则计算表达式 :(x+=2,y=x+3/2,y+5)后 , 表达式的值是。【8】

44、下面程序段的运行结果是 【a=-5】。int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i<=10);printf(“a=%d”,a);

45、要使指针变量与变量之间建立联系,可以用运算符[*] 来定义一个指针变量

46、设int a[10],*p=a;则对a[3]的引用可以是p[3]或 [*(p+3)]。

47、C语言程序是由[函数] 构成的。

48、在C语言程序中,用关键字 【float】定义单精度实型变量。

49、若m是一个三位数,则十位数字为 [m/10-m/100*10]。50、int a=24;printf(“%x ”, a);输出结果是。[18]

51、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式。[x

52、下面程序的运行结果是。[x=1,y=20] #include main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0){x=x+i;i++;} y=y+i++;} while(i<=7);printf(“x=%d,y=%dn”,x,y);}

53、形式参数也是【局部】变量。

54、以下程序 #include fun(int x, int y, int *cp, int *dp){ *cp=x+y;*dp=x-y;} main(){ int a,b,c,d;a=30;b=50;fun(a, b, &c, &d);printf(“%d,%dn”, c, d);return 0;} 输出结果是。【80,-20】

55、程序main(){ int a[2][3]={{1,2,3},{4,5,6}};int m,*ptr;ptr=&a[0][0];m=(*ptr)*(*(ptr+2))*(*(ptr+4));printf(“%dn”,m);} 的运行结果是【15】

56、运算符%、*=、||、==中,优先级最低的是。【*=】

57、在C语言中,“x”在内存中占【2】字节。

58、设y为int型变量,请写出描述“y是偶数”的表达式。【y%2==0】

59、下面程序段中循环体的执行次数是[3次]。a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);60、程序的输出值是。[10] #include void f(int *p){ *p=10;} int *p;void main(){ f(p);printf(“%d”,(*p)++);} 61、在C语言的赋值表达式中,赋值号左边必须是[变量]。62、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】

63、以下程序的输出结果是。[5,2,3] #include int sub(int x, int y, int *z){ *z=x-y;} main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%dn”,a,b,c);return 0;}

64、下面程序的输出是。[k=2 a=3 b=2] #include main(int argc, char argv[ ]){ char *s=“121”;int k=0, a=0, b=0;do { k++;if(k%2==0){ a=a+s[k]-'0';continue;} b=b+s[k]-'0';a=a+s[k]-'0';}while(s[k+1]);printf(“k=%d a=%d b=%dn”,k,a,b);return 0;} 65、运算符的结合性有[2] 种。

66、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是。[1] 67、判断char型变量ch是否为大写字母的正确表达式是。[ch>=’A’&&ch<=’Z’] 68、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i<=10);printf(“a=%d”,a);69、C语言中的字符数组中的一个元素存放[1]个字符。

70、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向 [a[1]]。71、设有如下定义: int a[5]={0,1,2,3,4},*p1=&a[1],*p2=&a[4];则p2-p1的值为。[6] 72、己有定义 :float f=13.8;, 则表达式 :(int)f% 3 的值是。[1] 73、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i<=10);printf(“a=%d”,a);74、已知:int a[5],*p=a;则p指向数组元素a[0],那么p+1指向[a[6]]。

75、引用C语言标准库函数,一般要用 [文件包含]预处理命令将其头文件包含进来。76、在C语言中,运算符++和—的运算量必须是 【变量】。77、逻辑运算符!是【自右至左】结合性。78、下面的程序的运行结果是。【s=25】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;} printf(“s=%d”,s);} 79、局部变量只在该[函数]有效。80、设char *s=”ta17bc”;则指针变量s指向的字符串所占的字节数是 【2】个 81、以下程序的输出结果是。【10】 main(){ int arr[ ]={30,25,20,15,10,5}, *p=arr;p++;printf(“%dn”,*(p+3));} 82、在C语言中,八进制整型常量以【0】 作为前缀。83、表达式3.6/6+1/2+55%10的值是。【5.6】

85、C语言的三种逻辑运算符中优先级最高的为【逻辑非!】

86、[全局变量] 可以被本文件中的其他函数所共用。87、以下程序 #include fun(int x, int y, int *cp, int *dp){ *cp=x+y;*dp=x-y;} main(){ int a,b,c,d;a=30;b=50;fun(a, b, &c, &d);printf(“%d,%dn”, c, d);return 0;}

。输出结果是。【80,-20】

88、int a=2,b=3;float x=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为。【3.5】

89、下面程序的运行结果是。[1,-2] y=2;a=1;while(y--!=-1){do{a*=y;a++;}while(y--);} printf(“%d,%d”,a,y);

90、用数组元素作为函数的实参时,与用变量做实参一样,是[值]传递。91、以下程序的输出结果是。【5,2,3】 #include int sub(int x, int y, int *z){ *z=x-y;} main(){ int a,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf(“%d,%d,%dn”,a,b,c);return 0;}

92、程序main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13};int(*ptr)[4];int sum=0,i,j;ptr=a;for(i=0;i<3;i++)for(j=0;j<2;j++)sum+=*(*(ptr+i)+j);printf(“%dn”,sum);} 的运行结果是。【60】

93、字符串常量“123”在内存中的字节数是。【4】

94、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 95、按序排列的同类型变量的集合称为【结构体变量】

96、C语言中按函数在程序中出现的位置来分,函数的调用有函数语句、函数参数和【函数表达式】 三种方式。

97、请定义一个指向字符类型数据的指针变量p,。【char *p 】

98、请定义一个指向指针数据的指针变量p,其基类型是字符型。[char**p] 99、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。100、下面的程序的运行结果是。[s=254] #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;} printf(“s=%d”,s);} 101、如果被调用函数的实参列表包含多个实参,则各参数间用[逗号] 隔开。(使用汉字填

102、下列程序段的输出结果是。【1,23 4】 void fun(int *x, int *y){ printf(“%d ,%d”, *x, *y);*x=3;*y=4;} main(){ int x=1,y=2;fun(&x,&y);printf(“%d %d”,x, y);} 103、设int a[10],*p=a;则对a[3]的引用可以是p[3]或【*(p+3)】。

104、double d1=1.2,d2=2.4;将表达式d1+2*d2强制转换为整型值的语句是。[(int)(d1+2*d2);]

105、定义一个整型数组a[10],则下标最大的数组元素为[a[9]]。

106、要使指针变量与变量之间建立联系,用运算符[*] 来建立指针变量与变量之间的联系。

107、下列程序的输出结果是 [0]。void fun(int *n){ while((*n)--);printf(“%d”,++(*n));} main(){ int a=100;fun(&a);}

108、char c=’10’;则变量c中包含字符的个数为[1]。109、int m=5,y=2;则表达式y+=y-=m*=y的值为。[-16]

110、以下程序 #include fun(int x, int y, int *cp, int *dp){ *cp=x+y;*dp=x-y;} main(){ int a,b,c,d;a=30;b=50;fun(a, b, &c, &d);printf(“%d,%dn”, c, d);return 0;} 输出结果是。【80,-20】

111、若有以下定义和语句:int a[4]={0,1,2,3}, *p;p=&a[1];则++(*p)的值是 【1】 112、运算符=的结合性是【自右至左】。

113、若x为整型变量,执行语句x='b'-'A';后,x的值为[33]。114、int a=24;printf(“%o ”, a);输出结果是。115、程序

void fun(char *c,int d){ *c=*c+1;d=d+1;printf(“%c,%c,”,*c,d);} main(){ char a=‟A‟,b=‟a‟;

fun(&b,a);printf(“%c,%cn”,a,b);} 运行后的输出结果是。[b,A,B,b] 116、设main函数的说明为:main(int argc, char *argv[]), 且有命令行为:FILE1 1 2 3(代表回车),则argc 的值是。[4] 117、x是整型变量,表达式:(x=8,x%=x+5)的值是。[8] 118、执行下列语句: int a=1, b=2;a=a+b;b=a-b;a=a-b;printf(“%d , %d n”, a,b);的输出结果分别是。[2,1] 119、条件“22&&x<3||x<-10]。120、设有如下定义: int a[5]={0,2,4,6,8},*p1=&a[1],*p2=&a[4];则*p2-*p1的值为。【6】 121、x是整型变量,表达式:(x=8,x%=x+5)的值是。【8】 122、下面程序的运行结果是。【x=1,y=20】 #include main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0){x=x+i;i++;} y=y+i++;} while(i<=7);printf(“x=%d,y=%dn”,x,y);} 123、请定义一个指向字符类型数据的指针变量p,。[char*p;]

10、已知:int a[5],*p=a;若“ printf(“%d”,p);”的输出结果是200,那么:“ printf(“%d”,p+1);”的输出结果是。[202] 124、把 al、a2 定义为长整型变量的定义语句是。[long a1,a2;] 125、若已有定义语句:int k=7;,赋值表达式:k+=k%=k-3的值是。[6] 126、逻辑运算符!是[从右至左] 结合性。_ 127、以下程序的输出结果是。【efgh】 main(){ char *p=“abcdefgh”,*r;long *q;q=(long*)p;q++;r=(char*)q;printf(“%sn”,r);} 128、程序# include void prtv(int *x){ printf(“%dn”,++*x);} main(){ int a=25;prtv(&a);} 的运行结果为 [26] 129、a是整型变量,则执行表达式a=25/3%3后a的值为。[2]

130、用来存放[字符数据]的数组称为字符数组。131、【全局变量】可以被本文件中的其他函数所共用。

132、程序main(){ int var, *p;var=100;p=&var;var=*p+10;printf(“%d”,var);} 的运行结果为。【110】

133、若有定义:int a[2][3]={2,4,6,8,10,12};则*(&a[0][0]+2*2+1)的值是【12】 134、访问变量的方式有直接访问和【间接访问】。

135、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是【整形】。136、已知:int a[2][3]={1,2,3,4,5,6},*p=&a[0][0];则*(p+1)的值为。【4】 137、有如下程序 main(){ char ch[2][5]={“6937”,”8254”},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>‟‟;j+=2)s=10*s+p[i][j]-„0‟;printf(“%dn”,s);} 该程序的输出结果是。【6385】

138、引用C语言标准库函数,一般要用【文件包含】 预处理命令将其头文件包含进来。

139、若m是一个三位数,则个位数字为。【m%10】 140、下面程序段的运行结果是。[a=-5] int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i<=10);printf(“a=%d”,a);141、若有以下定义和语句:int a[4]={1,2,3,4},*p;p=&a[2];则*--p的值是 [2] 142、若有定义:double x[3][5];则x数组中列下标的上限为。[4] 143、当被调用函数的定义出现在主调函数的[前面],可以不加以声明。144、以下程序运行后的输出结果是。【9876 876】 main(){ char s[ ]=“9876”,*p;

for(p=s;p main(){ int i,x,y;i=x=y=0;do {++i;if(i%2!=0){x=x+i;i++;} y=y+i++;} while(i<=7);printf(“x=%d,y=%dn”,x,y);} 147、C程序的执行从【main】 函数开始,调用其他函数后流程返回该函数,并在该函数中结束整个程序的运行。

148、下列程序的运行结果是。[3 6] void fun(int *a, int *b){ int *k;k=a;a=b;b=k;} main(){ int a=3, b=6, *x=&a, *y=&b;fun(x,y);printf(“%d %d”, a, b);} 149、下面程序的运行结果是。[1,-2] y=2;a=1;while(y--!=-1){do{a*=y;a++;}while(y--);} printf(“%d,%d”,a,y);

150、程序main(){ int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,13};int(*ptr)[4];int sum=0,i,j;ptr=a;for(i=0;i<3;i++)for(j=0;j<2;j++)sum+=*(*(ptr+i)+j);printf(“%dn”,sum);} 的运行结果是。[60]

151、如果在所有函数定义之前,在函数的【前面】已作了函数声明,则在各个主调函数中不必对所调用的函数再做声明。152、以下程序的输出结果是 【7】 #include #include main(){ char b1[8]=“abcdefg”,b2[8],*pb=b1+3;while(--pb>=b1)strcpy(b2,pb);printf(“%dn”,strlen(b2));} 153、程序# include void prtv(int *x){ printf(“%dn”,++*x);} main(){ int a=25;prtv(&a);} 的运行结果为。【26】

154、在C语言中的标识符只能由3种字符组成,它们是。【字母、数字、下划线 】 155、下面程序段的运行结果是。【a=-5】 int i=1,a=0,s=1;do{a=a+s*i;s=-s;i++;} while(i<=10);printf(“a=%d”,a);156、形式参数也是[局部变量]变量。

157、要使指针变量与变量之间建立联系,可以用运算符【*】来定义一个指针变量。158、对于“int a[4];”可理解为数组a有4个元素,每个元素都是整型数据,那么,对于“int *a[4];”的理解就是数组a有4个元素,每个元素都是【指针变量】。159、int x=12, n=5;则执行表达式x%=(n%=2)后x的值为。【0】 160、下面的程序的运行结果是。【254】 #include main(){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7){n=n*a;s=s+n;++count;} printf(“s=%d”,s);} 161、执行下列语句:float a;int b;b=a=24.5/5;printf(“%f,%d” , a, b);输出结果是。【4.900000,4】

162、在C语言中,二维数组元素的内存中的存放顺序是【按行存放】 163、在C程序中,指针变量能够赋【变量的地址】值或空值 164、已有定义 :double x=3.5;, 则表达式 :x=(int)x+1 的值是。[4.0] 165、局部变量只在【该该函数中】有效。

166、若有以下定义和语句:int a[4]={0,1,2,3}, *p;p=&a[1];则++(*p)的值是[2] 167、已知:int a=10,*p=&a;则“printf(“%d,%dn”,a,*p);”的输出结果是。[10,10] 168、在C语言程序中,符号常量的定义要使用 [宏定义]预处理命令。169、若a=6,b=4,c=2,则表达式!(a-b)+c-1&&b+c/2的值是。【1】 170、下面程序段的运行结果是。【231】 for(a=1,i=-1;i<1;i++){a++;printf(“%d”,a);} printf(“%d”,i);171、用来存放【 字符数据】的数组称为字符数组。

172、C语言中每个变量和函数有两个属性:数据类型和数据的【结构】 类别。173、已知:下面程序段中第一个printf语句的输出是200,则第二个printf语句的输出是。【200】 int a[3][4],*p=*a;printf(“%d”,a);printf(“'%d”,p);174、下面程序 void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-„a‟+‟A‟;s++;} } main(){ char str1[100]=“abcddfefdbd”,c=‟d‟;ss(str1,c);printf(“%sn”,str1);} 运行后的输出结果是。【abcDDfefDbD】

175、若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为。[5.5] 176、如果一函数直接或间接地调用自身,这样的调用称为[递归调用]。177、以下程序的输出结果是。[7] main(){ int x=0;sub(&x,8,1);printf(“%dn”,x);} sub(int *a,int n,int k){ if(k<=n)sub(a,n/2,2*k);*a+=k;

第五篇:C语言题库汇总(2011.5)(精选)

《C语言程序设计》

题 库 汇 编

信息技术学院 计算机基础教学部

二O一一年五月

(内部资料)

第一章

一、填空 共5题(共计5分)第1题(1.0分)题号:521 结构化程序中,有三种结构:顺序结构,【选择结构】,循环结构.第2题(1.0分)题号:522 一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【main】函数的最后一条语句或该函数中的return语句后,程序才会终止运行.第3题(1.0分)题号:518 C程序中有且仅有一个【主】函数.第4题(1.0分)题号:519 C语言程序由【函数】组成.第5题(1.0分)题号:165 程序流程图只有一个起点和【一】个终点.二、单项选择 共4题(共计4分)第1题(1.0分)题号:20 要调用文件处理函数时,在#include 命令行中应包含().A:“ctype.h” B:“string.h” C:“stdio.h” D:“math.h” 第2题(1.0分)题号:30 在C语言中,错误的语句是().A:a=b=c;B:;C:break D:b=3*5,a*=4;第3题(1.0分)题号:206 完成C源文件编辑后、到生成执行文件,C语言处理系统必须执行的步骤依次为().A:连接、编译 B:编译、连接 C:连接、运行 D:运行 第4题(1.0分)题号:208 C语言程序从main()函数开始执行,所以这个函数要写在().A:程序文件的开始 B:程序文件的最后 C:程序文件的任何位置(除别的函数体内)D:它所调用的函数的前面

第二章

一、填空 共15题(共计15分)第1题(1.0分)题号:525 C语言中一个单精度浮点型数据占【4】个字节.第2题(1.0分)题号:202 在C语言的源程序中若出现常量“1L”,则该常量的类型是【长整型】.第3题(1.0分)题号:317 在TC中,语句序列int k=-1;printf(“%u”,k);的输出结果为【65535】.第4题(1.0分)题号:200 C语言中为整型数据(int)分配【2】个字节的存储空间.第5题(1.0分)题号:316 已知有声明float d=1;double f=1;long g;和语句printf(“ ”,g=10+'i'+(int)d*f);,为了正确地以十进制形式输出printf参数表中第二个参数(表达式)的值,则在第一个参数中的下划线位置处应填写的格式转换说明符是【%ld】.第6题(1.0分)题号:203 在C语言中,字符型数据在内存中以【美国标准信息交换】码形式存放.第7题(1.0分)题号:264 只有在程序运行时才为【自动】存储类型和register存储类型变量分配内存.第8题(1.0分)题号:318 现有语句#define a 5+3,则表达式2*a的结果为【13】.第9题(1.0分)题号:248 C语言中,逻辑值“真”用【1】表示.第10题(1.0分)题号:238 执行“printf(”%d,%d“,i,j,k,m);”后将在屏幕上输出【2】个整数.第11题(1.0分)题号:201 在Turbo C2.0系统中,若将实型常数1.5存储在内存中,它占用【8】个字节.第12题(1.0分)题号:523 整型变量x的值为23,语句“printf(″%on″,x);”的输出结果为【27n】.第13题(1.0分)题号:315 从变量的作用域角度分有全局变量和【局部变量】.第14题(1.0分)题号:176 已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为【102】.第15题(1.0分)题号:533 变量从存储的时间来分可分为【静态变量】和动态变量.二、单项选择 共23题(共计23分)第1题(1.0分)题号:590 若有宏定义“#define p(x,y,z)x=y*z;”,则宏替换“p(a,x+5,y-3.1);”应为语句()。A:a=x+5*y-3.1;B:a=(x+5)*(y-3.1);C:a=x+5*y-3.1 D:a=(x+5)*(y-3.1)第2题(1.0分)题号:216 下列程序的输出是().#include main(){ printf(“%d”,NULL);} 2 A:0 B:变量无定义 C:-1 D:1 第3题(1.0分)题号:215 在main函数体内部和外部均允许出现的实体是().A:预处理命令 B:语句 C:另一函数的定义 D:函数形式参数声明 第4题(1.0分)题号:222 下面正确的字符常量是().A:“c” B:''' C:'W' D:'ab' 第5题(1.0分)题号:39 若变量都已正确说明,则以下程序段().a=2;b=3;printf(a>b?“***a=%d”:“###b=%d”,a,b);

A:没有正确的输出格式控制 B:输出为:***a=2 C:输出为:###b=2 D:输出为: ***a=2###b=3 第6题(1.0分)题号:71 以下所列的C语言常量中,错误的是().A:0Xff B:1.2e0.5 C:2L D:'72' 第7题(1.0分)题号:211 已知宏定义 #define N 3 #define Y(n)((N+1)*n)执行语句z=2*(N+Y(5+1));变量z的值为().A:42 B:48 C:54 D:出错 第8题(1.0分)题号:218 下列选项中,合法的C语言关键字是().A:VAR B:cher C:integer D:default 第9题(1.0分)题号:226 若x,y 均定义为 int 型,z 为 double 型 ,以下不合法的 scanf 函数调用语句是()。A:scanf(“%d%d,%lf”,&x,&y,&z);B:scanf(“%x,%d,%lf”,&x,&y,&z);C:scanf(“%d,%x,%lf”,&x,&y,&z);D:scanf(“%d,%d,%x”,&x,&y,&z);第10题(1.0分)题号:152 正确的自定义标识符是().A:if B:a*b C:iF D:8pq 第11题(1.0分)题号:228 在C程序中,1如果用来表示逻辑值时,应代表().A:真 B:假 C:整数1 D:长整型数1 第12题(1.0分)题号:586 以下所列字符常量中,不合法的是().A:'xa2' B:'65' C:'$' D:'x2a' 第13题(1.0分)题号:221 下列格式符中,可以用于以8进制形式输出整数的是().A:%d B:%8d C:%o D:%1d 第14题(1.0分)题号:165 以下不正确的C语言标识符是().A:2y B:a_1_2 C:ablexe D:_x 3 第15题(1.0分)题号:193 以下答案中不是C语言最基本数据类型的是().A:逻辑型 B:整型 C:字符型 D:实型 第16题(1.0分)题号:227 以下四个字符序列中,能用作用户自定义的标识符是().A:Putchar B:-double C:A123-D:int 第17题(1.0分)题号:234 以下叙述中正确的是().A:输入项可以是一个实型常量,如: scanf(“%f”,3.5);B:只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf(“a=%d ,b=%d”);C:当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf(“%4.2f”,&d);D:当输入数据时,必须指明变量地址,例如: scanf(“%f”,&f);第18题(1.0分)题号:220 常数的书写格式决定了常数的类型和值,0x1011是().A:8进制整型常量 B:字符常量 C:16进制整型常数 D:2进制整型常数 第19题(1.0分)题号:78 使用语句scanf(“x=%f,y=%f”,&x,&y);输入变量x,y的值([]代表空格),正确的输入是().A:1.25,2.4 B:1.25[]2.4 C:x=1.25,y=2.4 D:x=1.25[]y=2.4 第20题(1.0分)题号:77 若变量已正确说明为float类型,要通过语句scanf(“%f %f %f ”,&a,&b,&c);给a赋于10.0, b赋予22.0,c赋予33.0,不正确的输入形式是().A:10<回车>22<回车>33<回车> B:10.0,22.0,33.0<回车> C:10.0<回车>22.0 33.0<回车> D:10 22<回车>33<回车> 第21题(1.0分)题号:587()是C语言提供的合法数据类型关键字.A:Float B:signed C:integer D:Char 第22题(1.0分)题号:232 设有说明语句 char a='101';,则变量a().A:包含4个字符 B:包含2个字符 C:包含3个字符 D:包含1个字符 第23题(1.0分)题号:217 下述程序段的输出结果是().int x=10;int y=x++;printf(“%d,%d”,(x++,y),y++);A:11,10 B:11,11 C:10,10 D:10,11 4

第三章

一、填空 共32题(共计32分)第1题(1.0分)题号:978 若x为int型,请以最简单的形式写出与逻辑表达式!x等价的C语言关系表达式【x==0】.第2题(1.0分)题号:989 若有定义:int b=7;float a=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为【5.5】.第3题(1.0分)题号:334 计算a、b中最小值的条件表达式为【ab?a++:++b的值为【4】.第13题(1.0分)题号:332 以下十个运算符+!<b?a:b+1的值是【3】.第15题(1.0分)题号:329 若a=1,b=4,c=3,则表达式a&&b+c||b-c的值为【1】.第16题(1.0分)题号:347 若x为int型变量,执行以下语句后x值是【-6】.x=3;x+=x-=x+x;第17题(1.0分)题号:325 关系、算术、赋值三种运算符的运算优先顺序由高到低为【算术】、【关系】、【赋值】.第18题(1.0分)题号:1001 表达式 a=3,a++,--a的值为【3】.第19题(1.0分)题号:326 执行语句“a=5+(c=6);”后,变量a、c的值依次为【11】、【6】。第20题(1.0分)题号:982 已知char w;int x;float y;double z;则表达式:w*x+z-y所求得的数据类型为【double型】.5 第21题(1.0分)题号:336 表达式3>2>1的值是【0】.第22题(1.0分)题号:999 s=3,s++,s;这个语句执行完后,s的值为【4】.第23题(1.0分)题号:344 执行语句序列“char x=3,y=6,z;z=x^y<<2;”后,z的二进制值为【00011011】.第24题(1.0分)题号:349 设x,y,z均为int 型变量,请写出描述“x或y中有一个小于z”的表达式【x20&&x<30||x<-100】.第30题(1.0分)题号:981 如果a=1,b=2,c=3,d=4,则表达式a>b?c:d的值为【4】.第31题(1.0分)题号:319 判断变量a、b的值均不为0的C表达式为【a*b!=0】.第32题(1.0分)题号:1008 设有下面的程序段 int x= 0,y=0,t;t=x&&++y;执行语句后y的值为【0】.二、单项选择 共26题(共计26分)第1题(1.0分)题号:602 下面程序的输出是().main(){ int x=10,y=3;printf(“%dn”,x/y);} A:0 B:1 C:3 D:不确定的值 第2题(1.0分)题号:375 下列关于C语言的叙述,错误的是().A:大写字母和小写字母的意义相同 B:不同类型的变量可以在一个表达式中 C:在赋值表达式中等号(=)左边的变量和右边的值可以是不同的类型 D:同一个运算符号在不同的场合可以有不同的含义 第3题(1.0分)题号:246 若x、i、j和k都是int型变量,由x=(i=4,j=16,k=32)得x的值().A:4 B:16 C:32 D:52 第4题(1.0分)题号:596 设有说明“int x=3,y=4;”,则“++x>y--?x:y”的值为().A:4 B:1 C:2 D:3 第5题(1.0分)题号:609 6 执行语句“k=5|3;”后,变量k的当前值是().A:1 B:8 C:7 D:2 第6题(1.0分)题号:257 设 int x=1, y=1;表达式(!x||y--)的值是().A:0 B:1 C:2 D:-1 第7题(1.0分)题号:326 已知int i=10;执行表达式“i||(i=12)”后i的值是().A:10 B:1 C:12 D:0 第8题(1.0分)题号:240 设有说明“int x=1,y=1,z=1,c;”,执行语句“c=--x&&--y||--z;”后,x、y、z的值分别为().A:0、1、1 B:0、0、1 C:1、0、1 D:0、1、0 第9题(1.0分)题号:617 已知int a =15;执行语句a<<2;以后, 变量a的值是().A:20 B:40 C:60 D:80 第10题(1.0分)题号:593 以下程序的输出结果是().main(){ int x=0.5;char z='a';printf(“%dn”,(x&1)&&(z<'z'));} A:0 B:1 C:2 D:3 第11题(1.0分)题号:615 逗号表达式“(a=3*5,a*4),a+15 ”的值是().A:15 B:60 C:30 D:不确定 第12题(1.0分)题号:235 若a为int类型,且其值为3,则执行 完表达式a+=a-=a*a后,a的值是().A:-3 B:9 C:-12 D:6 第13题(1.0分)题号:255 设x、y、t均为int型变量,则执行语句:x=y=3;t=++x||++y;后,y的值为().A:不定值 B:4 C:3 D:1 第14题(1.0分)题号:620 C语句“x/=y-2;”还可以写作().A:x=x/y-2;B:x=2-y/x;C:x=x/(y-2);D:x=y-2/x;第15题(1.0分)题号:247 将字符g赋给字符变量c,正确的表达式是().A:c=147 B:c=“147” C:c='147' D:c='0147' 第16题(1.0分)题号:237 若w=1,x=2,y=3,z=4,条件表达式w=2)且(x<=5)B:(x>=2)AND(x<=5)C:(x>=2)&&(x<=5)D:(2≤x)AND(x≤5)第19题(1.0分)题号:605 若有以下定义: char a;int b;float c;double d;则表达式a*b+d-c结果值的类型为().A:float B:int C:char D:double 第20题(1.0分)题号:600 已知有声明int x=2;,以下表达式中值不等于8的是().A:x+=2,x*2 B:x+=x*=x C:(x+7)/2*((x+1)%2+1)D:x*7.2/x+1 第21题(1.0分)题号:595 设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch上面表达式的值是().A:A B:a C:Z D:z 第22题(1.0分)题号:613设int a=3,b=4;执行printf(“%d,%d”,(a,b),(b,a));后 的输出结果是().A:3,4 B:4,3 C:3,3 D:4,4 第23题(1.0分)题号:608 在C语言中,要求运算数必须是整型的运算符是().A:% B:/ C:+ D:!第24题(1.0分)题号:621 设有如下的变量定义: int i =10 ,a,b;double x=4.12,y=8.2;则以下符合C语言语法的表达式是().A:a+=a-=(b=4)*(a=3)B:x%(-3.0);C:a=a*3=2 D:y=float(i)第25题(1.0分)题号:241 设有定义“float y=3.45678;int x;”,则以下表达式中能实现将y中数值保留小数点后2位,第3位四舍五入的表达式是().A:y=(y*100+0.5)/100.0 B:y=(y/100+0.5)*100.0 C:y=y*100+0.5/100.0 D:x=y*100+0.5,y=x/100.0 第26题(1.0分)题号:618 表达式sizeof(double)的值是().A:16 B:2 C:4 D:8 8

第四章

一、填空 共19题(共计19分)第1题(1.0分)题号:366 以下程序运行后的输出结果是【yes】.main(){ int a=1, b=3;if(a+b)printf(“yesn”);else printf(“non”);} 第2题(1.0分)题号:370 以下程序输出的结果是【0】.main(){ int a=5,b=4,c=3,d;d=(a>b>c);printf(“%dn”,d);} 第3题(1.0分)题号:356 下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空.main(){int i, x, y=1;scanf(“%d”, &x);for(i=2;i<=x/2;i++)if【(x%i==0)】{ y=0;break;} printf(“%dn”, y);} 第4题(1.0分)题号:368 以下程序运行后的输出结果是【20,0】.main(){ int x=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf(“%d,%d n”,x,y);} 第5题(1.0分)题号:355 在下述程序中,判断i>j共执行的次数是【6次】 main(){int i=0, j=10, k=2, s=0;for(;;){i+=k;if(i>j){printf(“%d”,s);break;}s+=i;} } 第6题(1.0分)题号:369 若从键盘输入58,则以下程序输出的结果是 【585858】。main(){ int a;scanf(“%d”,&a);if(a>50)printf(“%d”,a);if(a>40)printf(“%d”,a);if(a>30)printf(“%d”,a);} 9 第7题(1.0分)题号:371 有如下程序 main(){ float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.0/x;else y=1.0;printf(“%fn”,y);} 该程序的输出结果是【1.000000】.第8题(1.0分)题号:360 假定所有变量均已正确说明,下列程序段运行后x的值是【4】

a=b=c=0;x=35;if(!a)x--;else if(b);if(c)x=3;else x=4;第9题(1.0分)题号:357 有以下程序 main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf(“%dn”,d);else if((c-1>=d)==1)printf(“%dn”,d+1);else printf(“%dn”,d+2);} 执行后输出结果是 【3】。第10题(1.0分)题号:358 阅读以下程序: main(){ int x;scanf(“%d”,&x);if(x--<5)printf(“%d”'x);else printf(“%d”,x++);} 程序运行后,如果从键盘上输人5,则输出结果是【4】

第11题(1.0分)题号:352 执行语句“n=1;if(n=5)n++;”后,变量n值为6】.第12题(1.0分)题号:363 以下程序运行后的输出结果是 【10 20 0】 main(){ int a,b,c a=10;b=20;c=(a%b<1)||(a/b>1);printf(“%d %d %dn”,a,b,c);} 10 第13题(1.0分)题号:362 以下程序运行后的输出结果是 【1】.main(){ int a=1,b=2,c=3;if(c=a)printf(“%dn”,c);else printf(“%dn”,b);} 第14题(1.0分)题号:367 若有以下程序 main(){ int p,a=5;if(p=a!=0)printf(“%dn”,p);else printf(“%dn”,p+2);} 执行后输出结果是【1】。第15题(1.0分)题号:359 以下程序输出结果是 【5】 main(){ int m=5;if(m++>5)printf(“%dn”,m);esle printf(“%dn”,--m);} 第16题(1.0分)题号:365 以下程序运行后的输出结果是 【3】.main(){ int p=30;printf(“%dn”,(p/3>0 ? p/10 : p%3));} 第17题(1.0分)题号:1029 有如下程序 main(){ float x=2.0,y;if(x<0.0)y=0.0;else if(x>10.0)y=1.0/x;else y=1.0;printf(“%.2fn”,y);} 该程序的输出结果是【1.00】.第18题(1.0分)题号:364 有以下程序 main(){ int n=0,m=1,x=2;if(!n)x-=1;if(m)x-=2;if(x)x-=3;printf(“%dn”,x);} 11 执行后输出结果是【-4】 第19题(1.0分)题号:354 若执行以下程序时从键盘上输入9,则输出结果是【10】

main(){ int n;scanf(“%d”,&n);if(n++<10)printf(“%d”,n);else printf(“%d”,n--);}

二、单项选择 共18题(共计18分)第1题(1.0分)题号:378 下列________结构不是C程序的结构? A:顺序结构 B:循环结构 C:程序结构 D:选择结构 第2题(1.0分)题号:385 以下程序段中,与语句:k=a>b?(b>c?1:0):0;功能相同的是()A:if((a>b)&&(b>c))k=1;B:if((a>b)||(b>c))k=1;else k=0;else k=0;C:if(a<=b)k=0;D:if(a>b)k=1;else if(b<=c)k=1;else if(b>c)k=1; else k=0;第3题(1.0分)题号:397 若k是int型变量,且有下面的程序片段: k=-3;if(k<=0)printf(“####”)else printf(“&&&&”);上面程序片段的输出结果是()A:#### B:&&&& C:####&&&& D:有语法错误,无输出结果 第4题(1.0分)题号:623 C语言的if语句中用作判断的表达式为________.A:关系表达式 B:逻辑表达式 C:算术表达式 D:任意表达式 第5题(1.0分)题号:638 下列条件语句中,功能与其他语句不同的是()A:if(a)printf(“%dn”,x);else printf(“%dn”,y);B:if(a==0)printf(“%dn”,y);else printf(“%dn”,x);C:if(a!=0)printf(“%dn”,x);else printf(“%dn”,y);D:if(a==0)printf(“%dn”,x);else printf(“%dn”,y);第6题(1.0分)题号:381 若执行下面的程序时,从键盘上输入3和4, 则输出结果是________.main(){int a,b,s;scanf(“%d%d”,&a,&b);s=a;if(a>b)s=b;s=s*s;printf(“%dn”,s);} 12 A:9 B:16 C:3 D:4 第7题(1.0分)题号:639 有以下程序 #include main(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf(“%d,%dn”,a,b);} 输出结果是()A:2,1 B:3,2 C:4,3 D:2,-1 第8题(1.0分)题号:392 有以下程序 main(){ int i=1,j=2,k=3;if(i++==1&&(++j==3||k++==3))printf(“%d %d %dn”,i,j,k);} 程序运行后的输出结果是()A:1 2 3 B:2 3 4 C:2 2 3 D:2 3 3 第9题(1.0分)题号:628

与语句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;第10题(1.0分)题号:383 下列程序段中,能将变量x、y中值较大的数保存到变量a,值较小的数保存到变量b的程序段是______.A:if(x>y)a=x;b=y;else a=y;b=x;B:if(x>y){a=x;b=y;} else a=y;b=x;C:if(x>y){a=x;b=y;} else {a=y;b=x;} D:if(x>y){a=x;b=y;} else(xb)c=a,a=b,b=c;B:if(a>b){c=a,a=b,b=c;} C:if(a>b)c=a;a=b;b=c;D:if(a>b){c=a;a=b;b=c;} 第12题(1.0分)题号:635 有以下程序 main(){ int a,b,d=25;a=d/10%9;b=a&&(-1);printf(“%d,%dn”,a,b);} 程序运行后的输出结果是()A:6,1 B:2,1 C:6,0 D:2,0 第13题(1.0分)题号:393 13 有以下程序 main(){ int a=3,b=4,c=5,d=2;if(a>b)if(b>c)printf(“%d”,d++ +1);else printf(“%d”,++d +1);printf(“%dn”,d);} 程序运行后的输出结果是()A:2 B:3 C:43 D:44 第14题(1.0分)题号:386 有如下程序 main(){int a=2,b=-1,c=2;if(a5)printf(“%dn”,a);else printf(“%dn”,--a);} A:6 B:7 C:5 D:4 第16题(1.0分)题号:384 与第9题重复(已删除)第17题(1.0分)题号:380 下列程序段执行后输出结果为()int i=-1;if(i<=0)printf(“****n”);else printf(“%%%%n”);A:****C B:%%%% C:%%%%C D:**** 第18题(1.0分)题号:396 以下程序的输出结果是()main(){ int a=-1,b=4,k;k=(+ +a〈0)&&!(b-;执行后,i的值为【0】.第5题(1.0分)题号:377 执行语句段for(s=0,i=1;i<11;i++){if(i==6)continue;s+=i;}后,s值为【49】.第6题(1.0分)题号:1030 【continue】语句,只能用在循环中,以中断某次循环,继续下一次循环.第7题(1.0分)题号:373 只能在循环体中使用的语句是【continue】.第8题(1.0分)题号:384 有以下程序

#include main(){int n=2,k=0;while(k++&&n++>2);printf(“%d%dn”,k,n);} 程序运行后的输出结果是【12】.第9题(1.0分)题号:1034 执行语句“s=0;n=5;while(--n)s+=n;”后,变量s 的值为【10】.第10题(1.0分)题号:380 有如下程序 main(){int a=2,b=-1,c=2;15 if(a6){n--;printf(“%d”,n);}} 该程序的输出结果是【876】.第15题(1.0分)题号:388 下面程序的运行结果是【a=2,b=8】.#include main(){ int a=1,b=10;16 do { b-=a;a++;}while(b--<0);printf(“a=%d,b=%d″,a,b);} 第16题(1.0分)题号:382 有如下程序 main(){intx=l,a=0,b=0;switch(x){ case 0:b++;case 1:a++;case 2:a++;b++;} printf(”a=%d,b=%dn“,a,b);)该程序的输出结果是【a=2,b=1】.第17题(1.0分)题号:1047 有如下程序 main(){ int x=23;do { printf(”%d″,x--);} while(!x);} 该程序的执行结果是【23】.第18题(1.0分)题号:381 若int k=8;则执行下列程序后,变量k的正确结果是【9】.main(){ int k=8;switch(k){ case 9:k+=1; case 10:k+=1; case 11:k+=1;break; default:k+=1;} printf(″%dn″,k);}

二、单项选择 共37题(共计37分)第1题(1.0分)题号:424 有以下程序段 int n=0,p;do {scanf(“%d”,&p);n++;} while(p!=12345&&n<3);此处do-while循环的结束条件是().A:p的值不等于12345并且n的值小于3 B:p的值等于12345并且n的值大于等于3 C:p的值不等于12345或者n的值小于3 D:p的值等于12345或者n的值大于等于3 第2题(1.0分)题号:1613 如果程序中想跳出循环体继续往下执行,则执行()语句.17 A:break B:continue C:switch D:return 第3题(1.0分)题号:1644 下面有关for循环的正确描述是()A:for循环只能用于循环次数已经确定的情况 B:for循环是先执行循环体语句,后判断表达式 C:在for循环中,不能用break语句跳出循环体

D:for循环的循环体语句中,可以包含多条语句,必须用花括号括起来 第4题(1.0分)题号:421 有以下程序 main(){ int k=4,n=0;for(;n;){ n++;if(n%3!=0)continue;k--;} printf(“%d,%dn”,k,n);} 程序运行后的输出结果是().A:1,1 B:2,2 C:3,3 D:4,0 第5题(1.0分)题号:422 读下列程序: main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1: switch(y){ case 0: a++;break;case 1: b++;break;} case 2: a++;b++;break;} printf(“a=%d, b=%dn”,a,b);} 输出结果是().A:a=2,b=1 B:a=1,b=1 C:a=1,b=0 D:a=2,b=2 第6题(1.0分)题号:1621 下述循环的循环次数是()int k=2;while(k=0)printf(“%d”,k);k--;printf(“n”);A:0次 B:1次 C:2次 D:无限次 第7题(1.0分)题号:1624 执行下列程序段后,变量i的值是()int i=10;switch(i){ case 9:i+=1;case 10:i+=1;18 case 11:i+=1;default:i+=1;} A:13 B:12 C:11 D:14 第8题(1.0分)题号:1627 以下关于语句的说法中正确的是: A:do-while 语句的循环体至少会被执行1次 B:while语句的循环体至少会被执行1次 C:for语句的循环体至少会被执行1次 D:在C语言中只能用do,do-while,for语句实现循环 第9题(1.0分)题号:1617 设I和k都是int类型,则for循环语句().for(I=0,k=-1;k=1;I++,k++)printf(“****n”);A:判断循环结束的条件不合法 B:是无限循环 C:循环体一次也不执行 D:循环体只执行一次 第10题(1.0分)题号:1643 C语言中用于结构化程序设计的3种基本结构是()A:顺序结构、选择结构、循环结构 B:if,switch,break C:for,while,do-while D:if,for,continue 第11题(1.0分)题号:425 有以下程序 main(){int a=15,b=21,m=0;switch(a%3){case 0:m++;break;case 1:m++;switch(b%2){default:m++;case 0:m++;break;} } printf(“%dn”,m);} 程序运行后的输出结果是().A:1 B:2 C:3 D:4 第12题(1.0分)题号:404 执行语句: for(i=1;i++<4;);后, 变量i的值是().A:3 B:4 C:5 D:不定 第13题(1.0分)题号:1631 有如下程序 main(){int i,sum;for(i=l;i<=3;sum++)sum+=i;printf(“%dn”,sum);} 该程序的执行结果是()A:6 B:3 C:死循环 D:0 第14题(1.0分)题号:1616 19 要求以下程序的功能是计算: s= 1+1/2+1/3+……+1/10 main(){ int n;float s;s=1.0;for(n=10;n>1;n--)s=s+1/n;printf(“%6.4fn”,s);} 程序运行后输出结果错误,导致错误结果的程序行是()A:s=1.0;B:for(n=10;n>1;n--)C:s=s+1/n;D:printf(“%6.4fn”, s);第15题(1.0分)题号:1620 以下循环体的执行次数是______.main(){ int i, j;for(i=0,j=1;ij共执行的次数是()main(){ int i=0,j=10,k=2,s=0;for(;;){ i+=k;if(i>j){ printf(″%d″,s);break;}s+=i;} } A:4 B:7 C:5 D:6 第18题(1.0分)题号:1622 下列循环语句中有语法错误的是()A:while(x=y)5;B:while(0);C:do 2;while(x=0);D:do x++

while(x=0);while(x= =10)第19题(1.0分)题号:1630 已知int t=0;while(t=1){…}

则以下叙述正确的是().A:循环控制表达式的值为0 B:循环控制表达式的值为1 20 C:循环控制表达式不合法 D:以上说法都不对 第20题(1.0分)题号:399 当处理特定问题,循环次数已知时,通常采用()解决.A:for循环 B:while循环 C:do循环 D:switch语句 第21题(1.0分)题号:427 以下程序段的描述,正确的是()x=-1;do {x=x*x;}while(!x);A:是死循环 B:循环执行两次 C:循环执行一次 D:有语法错误 第22题(1.0分)题号:1628 下面关于循环语句for、while、do-while的叙述中正确的是().A:三种循环语句的循环体都必须放入一对花括号中 B:三种循环语句中都可以缺省循环终止条件表达式 C:三种循环语句的循环体都至少被无条件执行一次 D:三种循环语句都可能出现无穷循环 第23题(1.0分)题号:431 以下描述中正确的是()A:由于do-while循环中循环体语句只能是可执行语句,所以循环体内不能使用复合语句 B:do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C:在do-while循环体中,是先执行一次循环,再进行判断 D:do-while循环中,根据情况可以省略while 第24题(1.0分)题号:408 已知 int i=1;执行语句while(i++<4)后,变量i的值为__________ A:3 B:4 C:5 D:6 第25题(1.0分)题号:1629 以下程序中循环体总的执行次数是()int i,j;for(i=6;i>1;i--)for(j=0;j

A:20 B:261 C:15 D:25 第26题(1.0分)题号:403 若k为整型,则while循环().k=10;while(k=0)k=k-1;

A:执行10次 B:无限循环 C:一次也不执行 D:执行一次 第27题(1.0分)题号:411 下面的for语句()for(x=2,y=8;(y>0)&&(x<5);x++,y--);A:是无限循环 B:循环次数不定 C:循环执行4次 D:循环执行3次 第28题(1.0分)题号:1633 以下程序执行后sum的值是()21 main(){ int i,sum;for(i=1;i<6;i++)sum+=i;printf(“%dn”,sum);} A:15 B:14 C:不确定 D:0 第29题(1.0分)题号:426 以下程序的输出结果是()main(){int a=1,b=0;do { switch(a){ case 1: b=1;break;case 2: b=2;break;default : b=0;} b=a+b;}while(!b);printf(“a=%d,b=%d n”,a,b);} A:a=1,b=2 B:a=1,b=1 C:a=1,b=0 D:a=1,b=3 第30题(1.0分)题号:1625 以下不致造成死循环的语句是().A:for(sum=1,i=0;sum>=i;)sum+=++i;B:for(;;x+=i);C:for(y=0,x=1;x>++y;x=i++)i=x;D:while(x=8)x--;第31题(1.0分)题号:1615 下列保留字中用于构成循环结构的是()A:if B:while C:switch D:default 第32题(1.0分)题号:1623 已知 int i=1;执行语句while(i++<4);后,变量i的值为__________ A:3 B:4 C:5 D:6 第33题(1.0分)题号:1645 设有以下程序段 int x=0,s=0;while(!x!=0)s+=++x;printf(″%d″,s);则()A:运行程序段后输出0 B:运行程序段后输出1 C:程序段中的控制表达式是非法的 D:程序段执行无限次 第34题(1.0分)题号:417 有以下程序段 int k=O: while(k=l)k++;while循环执行的次数是()A:无限次 B:有语法错,不能执行 C:一次也不执行 D:执行1次 第35题(1.0分)题号:1634 在“while(!a)”中,其中“!a”与表达式()等价.22 A:a= =0 B:a= =1 C:a!=1 D:a!=0 第36题(1.0分)题号:1638 当执行以下程序段时().y =1;do { y--;} while(--y);A:循环体将执行一次 B:循环体将执行两次 C:循环体将执行无限次 D:系统将提示有语法错误 第37题(1.0分)题号:400 下列保留字中用于构成循环结构的是()A:if B:while C:switch D:default 23

第六章

一、填空 共32题(共计32分)第1题(1.0分)题号:1059 若有定义:int a[2][3]={{1},{2,3}},则初始化后,元素a[0][1]得到的初值是【0】.第2题(1.0分)题号:398 下列程序的输出结果是【3,5,7,】.main(){ int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);} 第3题(1.0分)题号:1048 下面的程序打印杨辉三角形,其格式为: 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1 1 7 21 35 35 21 7 1 1 8 28 56 70 56 28 8 1 1 9 36 84 126 126 84 36 9 1 程序如下.#define N 11 main(){ int i,j,a[N+1][N+1];for(i=1;i<=N;i++){ a[i][i]=1;a[i][1]=1;} for(【i=3】;i0){printf(“ ”);j--;} for(j=1;j<=i;j++)printf(“%6d”,a[i][j]);printf(“n”);} printf(“n”);}

第4题(1.0分)题号:394 若声明“char a[15]=”Windows-9x“;”,语句“printf(”%s“,a+8);”的输出结果为【9x】.24 第5题(1.0分)题号:1071 以下程序运行后,输出结果是【1 2 3 5 6 9】.main(){int a[3][3]={1,2,3,4,5,6,7,8,9},i,j;for(i=0;i<3;i++)for(j=i;j<3;j++)printf(“%2d”,a[i][j]);} 第6题(1.0分)题号:1065 下面程序的运行结果为【1】.#include main(){char ch[7]={“12ab56”};int i,s=0;for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)s=10*s+ch[i]-'0';printf(“%d”,s);} 第7题(1.0分)题号:395 若有说明“int a[ ][4]={1,2,3,4,5,6,7,8,9};”,则数组a第一维的大小是【3】.第8题(1.0分)题号:409 下面程序的运行结果是【mo】.#include main(){char a[]=“morning”,t;int i,j=0;for(i=1;i<7;i++)if(a[j]

else printf(″ Not found!n″,x);} 第13题(1.0分)题号:417 下面程序的功能是将字符数组a[6]={'a','b','c','d','e','f'}变为 a[6]= {'f','a','b','c','d','e'}.请填空.main(){ char t,a[6]={'a','b','c','d','e','f'};int i;【t=a[5];】

for(i=5;i>0;i--)【a[i]=a[i-1];】 a[0]=t;for(i=0;i<=5;i++)printf(“%c”,a[i]);} 第14题(1.0分)题号:410 以下程序运行后的输出结果是【1 3 7 15】.main(){ int i,n[ ]={0,0,0,0,0};for(i=1;i<=4;i++){ n[i]=n[i-1]*2+1;printf(“%d ”,n[i]);} } 第15题(1.0分)题号:1073 # define N 7 main(){int i,j,temp,a[N]={1,2,3,4,5,6,7};for(i = 0;i #define N 8 void main(){ int i,j,pa[N]={1};printf(“%5dn”,pa[0]);for(i=1;i0;j--)pa[j]=pa[j]+pa[j-1];for(j=0;j<=i;j++)printf(“%5d”,pa[j]);printf(“n”);} } 第17题(1.0分)题号:420 以下程序运行后输出结果中第一行为【1 3 13】,第二行为【1 5 #include “stdio.h” #define N 3 main(){int a[N][N],b[N*N]={1,1},i,j;for(i=2;i void main(){ int i,j,a[3][3];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=1+i-j;27

21】,第三行为【2 8 34】.for(i=0;i<3;i++){ for(j=0;j<3;j++)if(a[i][j]>0)printf(“%3d”,a[i][j]);putchar('n');} } 第19题(1.0分)题号:399 输出数组a[10] 所有元素中的最大值.main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};int j, max;【max=a[0]】;for(j=1;j<10;j++){if(a[j]>max)【max=a[j]】;}

printf(“max value is %dn”, max);} 第20题(1.0分)题号:404 以下程序输出的结果是【Good morning!】.#include main(){char a[20]=“Good morning!”,b[40];int i;for(i=0;a[i]!='';i++)b[i]=a[i];b[i]='';puts(b);} 第21题(1.0分)题号:401 若有定义:int a[2][3]={{1},{2,3}},则初始化后,元素a[0][1]得到的初值是【0】.第22题(1.0分)题号:1057 输出数组a[10] 所有元素中的最大值.main(){ int a[10]={1,2,3,4,5,6,7,8,9,10};int j, max;【max=a[0]】;for(j=1;j<10;j++){if(a[j]>max)【max=a[j]】;}

printf(“max value is %dn”, max);} 第23题(1.0分)题号:1060 设char string[ ] =″abc_d!″;则数组的长度应是【7】.第24题(1.0分)题号:1058 设a数组是m行n列的,则元素a[i][j]之前有【i*n+j】个元素.第25题(1.0分)题号:1050 本程序用改进的冒泡法对数组a[n]的元素从小到大排序,请在程序空白处填空.#define N 10 28 main(){int a[N]={10,7,43,1,9,6,3,8,5,2};int j,k,jmax,temp;【jmax=N-1】;do { k=0;for(j=0;ja[j+1]】){temp=a[j];a[j]=a[j+1];a[j+1]=temp;【k++】;} jmax=jmax-1;} while(jmax>0&&k);for(j=0;j< N;j++)printf(“%5d”,a[j]);printf(“n”);} 第26题(1.0分)题号:418 设数组a包括10个整型元素.下面程序的功能是求出a中各相邻两个元素的和, 并将这些和存在数组b中,按每行3个元素的形式输出.请填空.main(){ int a[10],b[10],i;for(i=0;i<10;i++)scanf(“%d”,&a[i]);for(i=1;i<10;i++)【b[i]=a[i]+a[i-1];】 for(i=1;i<10;i++){ printf(“%3d”,b[i]);if(【i%3】==0)printf(“n”);} } 第27题(1.0分)题号:405 以下程序输出的结果是【21】.main(){ int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;printf(“%d n”,k);29 } 第28题(1.0分)题号:406 以下程序的输出结果是【AQM】.#include main(){ int i=0;char a[ ]=“abm”,b[ ]=“aqid”,c[10];while(a[i]!=''&& b[i]!=''){ if(a[i]>=b[i])c[i]=a[i]-32;else c[i]=b[i]-32;++i;} c[i]='';puts(c);} 第29题(1.0分)题号:416 输入10个数据,对它们按从小到大的顺序进行选择排序.main(){ int a[11];int i,j,t;printf(“Input 10 numbers:n”);for(i=1;i<11;i++)scanf(“%d”,&a[i]);printf(“n”);for(j=1;j<=【9】;j++)

for(i= 【j+1】;i<=10;i++)if(【a[i]=0;i--)printf(“%d”,a[i]);} 第31题(1.0分)题号:402 设char string[ ] =″This_is_a_book!″;则数组的长度应是【16】.第32题(1.0分)题号:1061 设int a[2][3] = {{2},{3}};则数组元素a[1][0]的值为【3】.二、单项选择 共22题(共计22分)第1题(1.0分)题号:1654 若有声明“int i;float x;char a[50];”,为使i得到值1,x得到值3.1416,a得到值yz,当执行 语句“scanf(”%3d%f%2s“,&i,&x,a);”时,正确的输入形式是().A:1,3.1416,yz↙ B:13.1416yz↙ C:0013.1416yz↙

D:i=001,x=3.1416,a=yz↙ 第2题(1.0分)题号:1658 数组定义为int a[3][2]={1,2,3,4,5,6},数组元素()的值为6.A:a[3][2] B:a[2][1] C:a[1][2] D:a[2][3] 第3题(1.0分)题号:1662 不正确的字符串赋值或赋初值的方式是().A:char str[]=“string”;B:char str[7]={'s','t','r','i','n','g'};C:char str[10];str=“string”;D:char str[7]={'s','t','r','i','n','g', ''};第4题(1.0分)题号:1651 对两个数组a和b初始化如下: char a[ ]=“abc”;char b[ ]={'a','b','c'};则以下叙述正确的是().A:a与b数组完全相同 B:a与b数组长度相同 C:a与b中都存放字符串 D:a数组比b数组长度长 第5题(1.0分)题号:441 下列各语句定义了数组,其中一个不正确的是().A:static int a[5],b[2][3];B:char no[30],rec[30,6];C:int x[]={2,4,6,8,10};D:int x[10]={1,2,3,4,5};第6题(1.0分)题号:449 设int a[ ][4]={1,2,3,4,5,6,7,8};则数组a的第一维的大小是().A:2 B:3 C:4 D:无确定值 第7题(1.0分)题号:445 以下不能正确定义二维数组的选项是().A:int a[2][2]={{1},{2}};B:int a[][2]={1,2,3,4};C:int a[2][2]={{1},2,3};D:int a[2][]={{1,2},{3,4}};第8题(1.0分)题号:435 设有数组定义:char array[ ]=“China”;则数组array所占空间是().A:4个字节 B:5个字节 C:6个字节 D:7个字节 第9题(1.0分)题号:1652 对字符数组str赋初值,str不能作为字符串使用的是().31 A:char str[]=“shanghai” B:char str[10]={'s','h','a','n','g','h','a','i'} C:char str[]={“shanghai”} D:char str[8]={'s','h','a','n','g','h','a','i'} 第10题(1.0分)题号:1653 执行下列程序 main(){int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};printf(″﹪d n″,a[1][0] + b[0][0]);} 输出的结果是().A:0 B:1 C:2 D:3 第11题(1.0分)题号:442 定义一个4个元素的一维整型数组,()是不正确的.A:int a[4];B:int a[4]={1,2,3,4,5};C:int a[4]={1,2,3};D:int a[4]={1};第12题(1.0分)题号:1648 以下程序的输出结果是().main(){ int i, x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf(“%d,”,x[i][2-i]);} A:1,5,9, B:1,4,7, C:3,5,7, D:3,6,9, 第13题(1.0分)题号:1657 定义一个4个元素的一维整型数组,()是不正确的.A:int a[4];B:int a[4]={1,2,3,4,5};C:int a[4]={1,2,3};D:int a[4]={1};第14题(1.0分)题号:434 下列对C语言字符数组的描述中错误的是().A:字符数组可以存放字符串 B:字符数组中的字符串可以整体输入、输出 C:可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值 D:不可以用关系运算符对字符数组中的字符串进行比较 第15题(1.0分)题号:1667 有以下程序 main(){int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0;for(i=0;i<4;i++)s+=aa[i][1];printf(“%dn”,s);} 程序运行后的输出结果是().A:11 B:19 C:13 D:20 第16题(1.0分)题号:450 若有数组A和B的声明“static char A[ ]=”ABCDEF“,B[ ]={'A','B','C','D','E','F'};”,则 数组A和数组B的长度分别是().A:7,6 B:6,7 C:6,6 D:7,7 第17题(1.0分)题号:1666 执行以下程序: 32 main(){ char str[13];scanf(“%s”,str);printf(“%sn”,str);} 若输入数据为: abcdl234 efgh 则程序的输出结果是().A:abcd B:abcd1234 C:abcd1234 efgh D:abcd1234efgh 第18题(1.0分)题号:446 对二维数组的正确说明是().A:int a[][] = {1,2,3,4,5,6};B:int a[][3] = {1,2,3,4,5,6};C:int a[2][] = {1,2,3,4,5,6};D:int a[2][3] = {1,2,3,4,5,6,7} 第19题(1.0分)题号:444 假定一个二维数组的定义语句为: int a[2][3]={{3,4},{2,8,6}};则元素a[0][2]的值为().A:4 B:0 C:2 D:6 第20题(1.0分)题号:453 以下程序运行后的输出结果是().main(){ char a[7]=“a0a0”;int i,j;i=sizeof(a);j=strlen(a);printf(“%d %d”,i,j);} A:2 2 B:7 2 C:7 5 D:6 2 第21题(1.0分)题号:440 设有变量声明“char c;”,执行“for(;c=(getchar()!='n');)printf(”%c“,c);”时,从键盘 上输入“ABCDEFG↙”之后,输出的结果是().A:ABCDEFG B:AABBCCDDEEFFGG C:非字母数字字符 D:语句不能执行 第22题(1.0分)题号:448 对字符数组s赋值,不合法的一个是().A:char s []=“Beijing”;B:char s [20]={“Beijing”};C:char s[20];s=“Beijing”;D:char s[20]={'B,'e','i','j','i','n','g'};33

第七章

一、填空 共22题(共计22分)第1题(1.0分)题号:1100 main(){int num1,num2;int *p1=&num1,*p2=&num2;int *pointer;scanf(“%d”,p1);scanf(“%d”,p2);if(*p1>*p2){ pointer=p1;p1=p2;p2=pointer;} printf(“min=%d,max=%dn”,*p1,*p2);} 若通过键盘输入了9和6,则: 上述程序的输出结果是【min=6,max=9】.第2题(1.0分)题号:1085 完成下列程序.求一个字符串的长度,用字符数组实现.main(){int len=0;char str[20],*p;scanf(“%s”,str);p=str;while(*p!=''){ 【p++】;【p++】;} printf(“nlength=%d”,len);} 第3题(1.0分)题号:438 当运行以下程序时,从键盘输入 apple<回车> cat<回车> 则以下程序的运行结果是【acat】.#include “stdio.h” main(){ char s[80],*p;p=s;gets(p);while(*p!='')if(*p=='a'){p++;gets(p);} else break;puts(s);} 第4题(1.0分)题号:443 执行下面的程序段后,ab的值为【110】.int *v,ab;ab=100;34 v=&ab;ab=*v+10;第5题(1.0分)题号:1089 以下程序的功能是:将无符号八进制数字构成的字符串转换为十进制整数.例如,输入的字符 串为:556,则输出十进制整数366.请填空. #include “stdio.h”  main(){ char *p, s[6]; int n; p=s; gets(p); n=*p-'0';while(【*(++p)】!='')n= 【n*8+*p-'0'】 printf(“%d n”,n); } 第6题(1.0分)题号:437 当运行以下程序时,从键盘输入 control<回车> cat<回车> bed<回车>-1<回车> 则以下程序的运行结果是【bed】.#include “stdio.h” main(){ char s[80],*p;p=s;gets(p);while(*p!='-'){ if(*p=='a'||*p=='b')puts(p);gets(p);} } 第7题(1.0分)题号:444 执行程序段后,表达式*--p的值是【20】.int a[]={63,20,30,28};p=&a[2];第8题(1.0分)题号:1086 以下程序的运行结果是【12345】.main(){ char a[]=“12345”,*p;int s=0;for(p=a;*p!='';p++)s=10*s+ *p-'0';printf(“%d”,s);} 35

;第9题(1.0分)题号:1083 执行以下程序后,a的值为【0】,b的值为【7】.main(){int a,b,k=4,m=6;int *p1=&k,*p2=&m;a=(p1==&m);b=(-*p1)/(*p2)+7;printf(“a=%d,b=%d”,a,b);} 第10题(1.0分)题号:430 以下程序段的运行结果是【a=1,b=11】.char *p=“%d,a=%d,b=%dn”;int a=11,b=10,c;c=a%b;p+=3;printf(p,c,a,b);第11题(1.0分)题号:1082 以下程序运行时输出结果是【4】.#include main(){ char *s, *s1=“Here”;s=s1;while(*s1)s1++;printf(“%dn”,s1-s);} 第12题(1.0分)题号:422 以下程序的输出结果是【2,6】.main(){ int a[]={1,2,3,4,5,6},*p=a;*(p+3)+=2;printf(“%d,”,*++p);printf(“%dn”,*(p+2));} 第13题(1.0分)题号:423 若有声明“char a[3]=”AB“;char *p=a;”,执行语句“printf(”%d“,p[2]);”后 输出结果是【0】.第14题(1.0分)题号:1087 以下程序段的运行结果是【4】.char *p=“abedefg”;p+=3;printf(“%d”,strlen(strcpy(p,“ABCD”)));第15题(1.0分)题号:1091 下面程序的输出结果为【1 4】.#include 36 int x[2][3]={1,2,3,4,5,6};main(){int *p;for(p=&x[0][0];p<&x[0][0]+6;p++){ if((p-&x[0][0])%3==0)printf(“%3d”,*p);} } 第16题(1.0分)题号:1094 以下程序段的运行结果是【*2*4*6*8*】.char a[ ]=“123456789”,*p;int i=0;p=a;while(*p){ if(i%2==0)*p='*';p++;i++;} puts(a);第17题(1.0分)题号:441 #include main(){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf(“%d,%dn”,*p,*(p+3));} 结果为:【1,6】.第18题(1.0分)题号:1090 下面程序输出结果为【6 8】.main(){int a[3][3]={1,2,3,4,5,6,7,8,9},*p,(*p1)[3];p=*a+5;p1=a;printf(“%dt%dn”,*p,*(*(p1+2)+1));} 第19题(1.0分)题号:435 以下程序段的运行结果是【1*0*】.char *p=“PDP1-0”;int i,d;for(i=0;i<7;i++)if(isdigit(*(p+i)))printf(“%c*”,*(p+i));第20题(1.0分)题号:1092 以下程序的运行结果是【2,4】.37 main(){ int x[5]={2,4,6,8,10},*p,**pp;p=x;pp=&p;printf(“%d,”,*(p++));printf(“%d”,**pp);} 第21题(1.0分)题号:426 下面程序的输出结果为【abc,ABC,bc,BC,c,C,】.#include main(){int i;char *m=“abc”,k[4];k[0]='A';k[1]='B';k[2]='C';k[3]='';for(i=0;i<3;i++)printf(“%s,%s,”,m+i,k+i);} 第22题(1.0分)题号:1079 下列程序的输出结果是【ABCDE CDE E】.main(){char s[]=“ABCDE”, *p=s;while(*p){ printf(“%s ”,p++);if(*p)p++;} }

二、单项选择 共40题(共计40分)第1题(1.0分)题号:484 以下程序运行后,输出结果是().main(){ char *s=“abcdefg”;s+=5;printf(“%sn”,s);} A:fg B:字符f的ASCII码值 C:字符f的地址 D:出错 第2题(1.0分)题号:1673 已知有程序段

“chat str [] [10]={”Aoyun“,”Beijing“},*p=&str[0][0];printf(”%sn“,p+10);”,则执行printf 语句后输出为().A:Beijing B:Aoyun C:ing D:ng 第3题(1.0分)题号:492 假定已有声明“char a[30],*p=a;”,则下列语句中能将字符串“This is a C program.”正确地保存到数组a中的语句是().A:a[30]=“This is a C program.”;B:a=“This is a C program.”;C:*p=“This is a C program.”;D:strcpy(p,“This is a C program.”);38 第4题(1.0分)题号:1685 设int a [5][5],*b[5],(*c)[5]=a;则被分别称为是().A:数组、数组指针、指针数组 B:数组、指针数组、指针函数 C:数组、数组指针、函数指针 D:数组、指针数组、数组指针 第5题(1.0分)题号:493 若有声明语句“char ch='a', *pc=&ch;”,以下语句有语法错误的是().A:(*pc)++;B:ch+=-'a'+'A';C:toupper(ch)=ch;D:ch++;第6题(1.0分)题号:1696 设char s [10], *p;正确的操作语句是().A:p=“MBA”;B:s++;C:s=“MBA” D:s[ ]=“MBA”;第7题(1.0分)题号:1677 有以下程序,执行后输出结果是().main(){char *s[]={“one”,“two”,“three”},*p;p=s[1];printf(“%c,%sn”,*(p+1),s[0]);} A:n,two B:t,one C:w,one D:o,two 第8题(1.0分)题号:1686 若已定义x为int 类型变量,下列语句中定义指针变量p的正确语句是().A:int p=&x B:int *p=x C:int *p=&x;D:p=x;第9题(1.0分)题号:1695 设int a[3][2];能正确表示a数组元素地址的是().A:a[1] B:a[3] C:*a[2] D:&a[3][2] 第10题(1.0分)题号:1683 若有语句 int *point,a=4;和point=&a;下面代表地址的选项是().A:a B:*point C:*a D:point 第11题(1.0分)题号:454 如有以下定义的语句,而且0≤i〈10.则对数组元素的错误引用是().int a[]={1,2,3,4,5,6,7,8,9,0},*p,i;p=a;A:*(a+i)B:a[p-a] C:p+I D:*(&a[i])第12题(1.0分)题号:483 int a[]={1,2,3,4,5,6};int *p=a;则下列结果不为4的表达式是().A:*p+3 B:*(p+3)C:a[4] D:*(a+3)第13题(1.0分)题号:1679 设有如下程序: #include main(){ char s[128]={''},*p=s;while(strcmp(s,“END”)){ gets(s);while(*p)putchar(*p++);}} gets函数每次输入一个字符串.以下关于该程序运行时输出结果的叙述中正确的是().A:所有输入的字符串都能被完整输出 B:所有输入的字符串都不能被完整输出 C:只能完整输出第一个字符串 D:只能完整输出最后一个字符串

第14题(1.0分)题号:1688 执行语句“for(i=0;i<10;++i,++a)scanf(″%d″,a);”试图为int类型数组a[10]输入数据 是错误的.错误的原因是().A:指针变量不能做自增运算 B:数组首地址不可改变 C:++i应写作i++ D:++a应写作a++ 第15题(1.0分)题号:1693 若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是().A:int *i=NULL;scanf(“%d”,i);B:float *f=NULL;*f=10.5;C:char *c;chart='m';*c=&t;D:char t='m';long *L=&t;L='';第16题(1.0分)题号:1703 若有声明“double x=3,c,*a=&x ,*b=&c;”,则下列语句中错误的是().A:a=b=0;B:a=&c,b=a;C:&a=&b;D:*b=*a;第17题(1.0分)题号:489 已知有声明“char a[]=”Tt is mine“, *p=”It is mine“;',下列叙述中错误的是().A:strcpy(a,”yes“)和strcpy(p,”yes“)都是正确的 B:a=”yes“和p=”yes“ 都是正确的 C:*a等于*p D:D.Sizeof(a)不等于Sizeof(p)第18题(1.0分)题号:476 若有声明”int x[10]={0,1,2,3,4,5,6,7,8,9},*p“,则值不为4的表达式是().A:p=x,*(p+4)B:p=x+4,*p++ C:p=x+3,*(p++)D:p=x+3,*++p 第19题(1.0分)题号:1700 变量s的定义为” char *s = “hello world!”;“,要使用变量p指向s所指向的同一个字符串, 则应选取().A:char *p=s;B:char *p=&s;C:char *p;p=*s;D:char *p;p=&s;第20题(1.0分)题号:1701 若定义了int *pointer[5],则下列说法正确的是().A:定义了一个指针数组pointer B:定义了一个指向5个元素的一维数组的指针变量pointer C:定义了5个整型变量 D:定义了一个整型数组名为*pointer,有5个元素 第21题(1.0分)题号:1670 已知有声明”int good=1;“,若要使得表达式”p=“good”+good“无语法错误(包括警告错误), p应当声明为().A:char p;B:char *p;C:int p;D:int *p;第22题(1.0分)题号:1675 已知某程序中有声明int a[4],j;及语句for(j=0;j<4;j++)p[j]=a+j;, 则标识符p正确的声明形式应为().A:int p[4];B:int *p[4];C:int **p[4];D:int(*p)[4];第23题(1.0分)题号:459 已知有声明”int a[2][3]={0}, *p1=a[1],(*p2)[3]=a;“,以下表达式中与”a[1][1]=1“ 不等价的表达式是().A:*(p1+1)=1 B:p1[1][1]=1 C:*(*(p2+1)+1)=1 D:p2[1][1]=1 第24题(1.0分)题号:472 下列语句定义p为指向float类型变量d的指针,其中哪一个是正确的().A:float d,*p=d;B:float d,*p=&d;C:float d,p=d;D:float *p=&d,d;第25题(1.0分)题号:1706 设已有声明”int x[]={1,2,3,4,5,6},*p=&x[2];“,则值为3的表达式是().40 A:*++p B:*(p++)C:++*p D:*p+1 第26题(1.0分)题号:494 有以下程序,执行后输出结果是().main(){int x[8]={8,7,6,5,0,0},*s;s=x+3;printf(”%dn“,s[2]);} A:随机值 B:0 C:5 D:6 第27题(1.0分)题号:490 若有声明”char a[5]={'A','B','C','D','E'},*p=a,i;“,则以下语句中不能正确输出a数组 全部元素值的是().A:for(i=0;i<5;i++)printf(”%c“,a[i]);B:for(i=0;i<5;i++)printf(”%c“,*(a+i));C:for(i=0;i<5;i++)printf(”%c“,*p++);D:for(i=0;i<5;i++)printf(”%c“,*a++);第28题(1.0分)题号:487 下列程序的输出结果是().main(){int m[10]={0,1,2,3,4,5,6,7,8,9},*p=m;p=p+4;printf(”%d “,*++p);} A:3 B:4 C:5 D:6 第29题(1.0分)题号:479 下列选项中正确的语句组是().A:char s[8];s={”Beijing“};B:char *s;s={”Bei jing“};C:char s[8];s=”Beijing“;D:char *s;s=”Beijing“;第30题(1.0分)题号:1678 设有如下程序,其运行结果为().main(){ static int a[][2]={{1,2},{3,4}};int *pa,(*pb)[2];pa=&a[0][0];pb=a;printf(”%d %dn“,*(pa+3),*(*(pb+1)));} A:31 B:42 C:33 D:43 第31题(1.0分)题号:474 若有定义:”int x,*pb;“,则以下正确的赋值表达式为().A:pb=&x B:pb=x C:*pb=&x D:*pb=*x 第32题(1.0分)题号:475 若有声明”int a[]={1,2,3,4},*p,i;“,则以下程序段中不能输出13的是().A:for(i=0;i<4;i+=2)printf(”%d“,a[i]);B:for(p=0;p<4;p+=2)printf(”%d“,a[p]);C:for(p=a;p

第八章

一、填空 共45题(共计45分)第1题(1.0分)题号:509 以下程序实现将a数组中后8个元素从大到小排序的功能.void sort(int *x,int n);main(){ int a[12]={5,3,7,4,2,9,8,32,54,21,6,43},k;sort(【a+4】 ,8);for(k=0;k<12;k++)printf(”%d “,a[k]);} void sort(int *x,int n){ int j,t;if(n= =1)return;for(j=1;j

#include void f(float a,float b,float* c){ static float x;float y;x=(y=a>b?a:b)>x?y:x;*c=x;} void main(){ float a[5]={2.5,-1.5,7.5,4.5},x;int i;for(i=0;i<3;i++){ f(a[i],a[i+1],&x);printf(”%.1fn“,x);} } 第7题(1.0分)题号:475 函数sstrcmp()的功能是对两个字符串进行比较.当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp()).请填空.#include int sstrcmp(char *s,char *t){ while(*s&&*t&&*s==【*t】){s++;【t++】;}

return 【*s-*t】;} 第8题(1.0分)题号:480 下列给定程序中,函数fun的功能是:逐个比较a、b两个字符串对应位置中的字符,把ASCII值 大或相等的字符依次存放到c数组中,形成一个新的字符串.例如:若a中的字符串为:aBCDeFgH,b中的字符串为:ABcd, 则c中的字符串应为:aBcdeFgH.请填空. #include #include void fun(char *p, char *q, char *c){ int k=1;while(【!(*p==''&& *q=='')】) { if(【*p< *q】)c[k]= *q; else c[k]= *p; if(*p!='')p++; if(*q!='')q++; 【k++】; } } main(){ char a[10]=”aBCDeFfH“,b[10]=”ABcd“,c[80]={' 0'};fun(a,b,c);printf(”The string a:“);puts(a);ptintf(”The string b:“);puts(b);printf(”The result :“);puts(c);} 第9题(1.0分)题号:494 在函数内部声明局部变量时缺省了存储类型,则该变量存储类型为【自动类型】.第10题(1.0分)题号:506 #include void f(int *p1, int *p2){ int *t;t=p1;p1=p2;p2=t;} main(){ int a=10,b=20;printf(”%d,%dn“,a,b);f(&a,&b);printf(”%d,%dn“,a,b);} 程序输出的第一行是【10,20】,第二行是【10,20】.第11题(1.0分)题号:479 以下函数的功能是计算s=1+1/2!+1/3!+……+1/n!,请填空.45 double fun(int n){double s=0.0,fac=1.0;int i;for(i=1;【n>=i】;i++){ fac=fac*【1/i】;s=s+fac;} return s;} 第12题(1.0分)题号:478 下面程序的运行结果是:【4】.int fa(int x){return x*x;} int fb(int x){return x*x*x;} int f(int(*f1)(),int(*f2)(),int x){return f2(x)-f1(x);} main(){int i;i=f(fa,fb,2);printf(”%dn“,i);} 第13题(1.0分)题号:500 以下函数用以求x的y次方.请填空.double fun(double x,int y){ int i;double z;for(i=1,z=x;i 【<=y】;i++)z*= 【x】;return z;} 第14题(1.0分)题号:487 一个用C语言编写的程序在运行时,如果没有发生任何异常情况,则只有在执行了【main】函数的最后一条语句或该函数中的return语句后,程序才会终止运行.第15题(1.0分)题号:496 以下程序的输出结果是【7 8 9】.f(int a){ int b=0;static int c=3;b++;c++;return(a+b+c);} main(){ int a=2,i;for(i=0;i<3;i++)printf(”%4d“,f(a));} 第16题(1.0分)题号:481 以下程序输出的结果是【a=3,b=6

a=6,b=3】

void fun1(int a,int b){ int k;k=a;a=b;b=k;} void fun2(int *pa,int *pb){ int k;k=*pa;*pa=*pb;*pb=k;} main(){ int a=3,b=6;46 fun1(a,b);printf(”a=%d,b=%dn“,a,b);fun2(&a,&b);printf(”a=%d,b=%dn“,a,b);} 第17题(1.0分)题号:508 fun(int *s,int n1,int n2){ int t;while(n1

for(i= 【j+1】;i<=10;i++)if(【a[i]

第24题(1.0分)题号:499 48

缺省类型.下列程序的输出结果是【8,17】 int fun(int x,int y){ static int m=0,i=2;i+=m+1;m=i+x+y;return m;} main(){ int j=4,m=1,k;k=fun(j,m);printf(”%d,“,k);k=fun(j,m);printf(”%dn“,k);} 第25题(1.0分)题号:486 以下程序输出的结果是:【10,20,30】 void fun(int a, int b, int c){ a=100;b=200;c=300;} main(){ int x=10;y=20;z=30;fun(x, y, z);printf(”%d,%d,%d“, x,y,z);} 第26题(1.0分)题号:503 #include void f(int *p,int n){ int i,j;for(i=0;i

下载C语言题库word格式文档
下载C语言题库.doc
将本文档下载到自己电脑,方便修改和收藏,请勿使用迅雷等下载。
点此处下载文档

文档为doc格式


声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:645879355@qq.com 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。

相关范文推荐

    小学六年级语言运用题库

    1.某学生路过一面包店,只见店门上写着一副对联:“制作我把关,你尝我放心”。该学生读了几遍,总觉不妥。你能按对联的基本要求作些修改吗? [答] 2.下列两例公益广告语很有创意,请选......

    c语言题库东北电力题

    1◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆ 【填空】下列给定程序中,函数fun的功能是:计算如下公式前n项的和并作为函数值返回。例如,当形参n的值为10时,函数返回值为9.612558。 【答案】......

    《幼儿语言教育》练习题库参考答案

    动物也有自己的语言。有些动物是以动作作为联系信号的。在我国海滩上,有一种蟹,雄的只有一只大螫,在寻求配偶时,便高举这只大螫,频频挥动,一旦发觉雌蟹走来,就更加起劲地挥舞着大螫......

    C语言编程题库与解析1

    1 完成下列代码的编写 给定变量a,b的值求和 #include int main { int a,b,sum; a=1;b=9; sum=a+b; printf("sum is %dn",sum); return 0; } 交换a,b的值的输出 #......

    C语言程序设计试题题库[共5篇]

    第一章 基础知识 一.填空 1.每个C程序都必须有且仅有一个________ 函数。 2.C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载 和执行。 3.软件......

    C语言程序设计基础单项选择题库

    分类: 一、概念(13---51,54,55)、数据类型、输入输出格式、转义符、运算及表达式等:1 --- 66 二、选择语句:67 --- 72 (其中67为条件运算,72可归于一类); 三、循环语句:73 --- 102 (其中7......

    二级C语言上机题库_南开100题

    工作感受心得 我是体育部的部委李盟,在加入我们学校学生会体育部不久后加入前湖礼仪工作组,担任出礼仪的工作.在我出礼仪工作的工程中,收获很多,体会也很多 ,丰富了我在学生......

    2016年计算机二级c语言题库及答案

    2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,r......