C语言程序设计课程作业题库

更新时间:2023-09-21 22:27:01 阅读量: 工程科技 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

1. 程序的三种基本结构是( )

顺序结构,循环结构,递归结构 顺序结构,循环结构,选择结构 选择结构,循环结构,递归结构

顺序结构,选择结构,递归结构

nclude main(){int

a=1,b=10;do{b-=a;a++;}while(b--<0);

本题分值: 4.0 用户得分: 4.0

用户解答: 顺序结构,循环结构,选择结构 标准答案: 顺序结构,循环结构,选择结构

2. 若有定义typedef char STRING[255]; STRING s; 则s是

字符指针数组变量 字符指针变量 字符变量 字符数组变量

本题分值: 4.0 用户得分: 4.0

用户解答: 字符数组变量 标准答案: 字符数组变量

3. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )

b=a/2 b=a%2 b=8-(3,a-5) b=a>5?4:2

本题分值: 4.0 用户得分: 4.0

用户解答: b=a%2 标准答案: b=a%2

4. 下列运算符中优先级最低的是( )

? : && + !=

本题分值: 4.0 用户得分: 4.0 用户解答: ? : 标准答案: ? :

5. 若要求表示a不等于0的关系,错误的表达式是( )

a<>0 a!=0 a a<0| |a>0

本题分值: 4.0 用户得分: 4.0 用户解答: a<>0 标准答案: a<>0

6. 若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是( )

A%2= =1 !(A%2= =0) !(A%2) A%2

本题分值: 4.0 用户得分: 4.0 用户解答: !(A%2) 标准答案: !(A%2)

7. a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a|b,c=a∧b)的输出结果为( )

177666,101,133,32 0177666,0123,0333,032 0177666,0101,0133,032 177666,0123,0133,034

本题分值: 4.0 用户得分: 0.0

用户解答: 0177666,0101,0133,032 标准答案: 177666,101,133,32

8. 下面程序的运行结果是( )#includemain(){int

i,b,k=0;for(i=1;i<=5;i++){b=i%2;while(b-->=0) k++;}printf('%d,%d',k,b);}

3,-1 8,-1 3,0 8,-2

本题分值: 4.0 用户得分: 0.0 用户解答: 8,-1 标准答案: 8,-2

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

将5个初值依次a[1]至a[5] 将5个初值依次a[0]至a[4]

将5个初值依次a[5]至a[9] 将5个初值依次a[6]至a[10]

本题分值: 4.0 用户得分: 4.0

用户解答: 将5个初值依次a[0]至a[4] 标准答案: 将5个初值依次a[0]至a[4]

10. 以下有关宏替换的叙述不正确的是( )

宏替换不占用运行时间 宏名无类型

宏替换只是字符替换 宏名必须用大写字母表示

本题分值: 4.0 用户得分: 4.0

用户解答: 宏名必须用大写字母表示 标准答案: 宏名必须用大写字母表示

11. 若已定义int a;下面对(1)(2)两个语句(1)int *p=&a; (2)*p=a;的正确解释是( )

语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值 (1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p

(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给指针变量p

(1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p

本题分值: 4.0 用户得分: 4.0

用户解答: (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p 标准答案: (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p

12. 若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是( )

&p a++ &(p+1) &p[i]

本题分值: 4.0 用户得分: 0.0 用户解答: a++ 标准答案: &p[i]

13. 函数rewind的作用是( )

使位置指针指向文件的末尾

将位置指针指向文件中所要求的特定位置 使位置指针重新返回文件的开头 使位置指针自动移到下一个字符位置

本题分值: 4.0 用户得分: 4.0

用户解答: 使位置指针重新返回文件的开头 标准答案: 使位置指针重新返回文件的开头

14. 下面对typedef不正确的叙述是

用typedef可以定义各种类型名,但不能用来定义变量 用typedef可以增加新的基本数据类型

用typedef只是将已存在的类型用一个新的标识符表示 使用typedef有利于程序的通用和移植

本题分值: 4.0 用户得分: 4.0

用户解答: 用typedef可以增加新的基本数据类型 标准答案: 用typedef可以增加新的基本数据类型

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

预处理命令都必须以#开始

在C程序中凡是以#开始的语句行都是预处理命令行 C程序在执行过程中对预处理命令行进行处理 以下是正确的宏定义 #define IBM_PC

本题分值: 4.0 用户得分: 0.0

用户解答: 以下是正确的宏定义 #define IBM_PC

标准答案: C程序在执行过程中对预处理命令行进行处理

16. C语言中while和do while循环的主要区别是( )

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

while循环控制条件比do-while的循环控制条件严格 do-while允许从外部转入到循环体内 do-while的循环体不能是复合语句

本题分值: 4.0 用户得分: 4.0

用户解答: do-while的循环至少无条件执行一次 标准答案: do-while的循环至少无条件执行一次

17. 在C语言中,每个语句和数据定义是用( )结束

句号 逗号 分号 括号

本题分值: 4.0

用户得分: 4.0 用户解答: 分号 标准答案: 分号

18. 设以下变量均为int类型,则值不等于7的表达式是( )

x=y=6,x+y,x+1 x=y=6,x+y,y+1 x=6,x+1,y=6,x+y y=6,y+1,x=y,x+1

本题分值: 4.0 用户得分: 4.0

用户解答: x=6,x+1,y=6,x+y 标准答案: x=6,x+1,y=6,x+y

19. 在位运算中,操作数每左移2位,相当于( )

操作数*2 操作数/2 操作数*4 操作数/4

本题分值: 4.0 用户得分: 0.0

用户解答: 操作数*2 标准答案: 操作数*4

20. 设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是( )

运行错误 100 i的地址 j的地址

本题分值: 4.0 用户得分: 0.0

用户解答: 运行错误 标准答案: 100

21. 一下关于宏替换的叙述不正确的是

宏替换只是字符替换 宏名无类型

宏替换不占用运行时间 宏替换不占用编译时间

本题分值: 4.0 用户得分: 4.0

用户解答: 宏替换不占用编译时间 标准答案: 宏替换不占用编译时间

二 判断题

1. C语言中的main函数必须位于程序的最前面

错 对

本题分值: 4.0 用户得分: 4.0 用户解答: 错 标准答案: 错

2. 对for(表达式1; ;表达式3)可理解为for (表达式1;1;表达式3)

错 对

本题分值: 4.0 用户得分: 4.0 用户解答: 对 标准答案: 对

1. 若x,y均定义为int型,z定义为double型,以下不合法的scanf函数调用语句是( )

scanf('%d%lx,%le',&x,&y,&z) scanf('-*%d%lf',&x,&y,&z) scanf('%x%*d%o',&x,&y) scanf('%x%o%6.2f',&x,&y,&z)

本题分值: 4.0 用户得分: 0.0

用户解答: scanf('-*%d%lf',&x,&y,&z) 标准答案: scanf('%x%o%6.2f',&x,&y,&z)

2. 设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )

b=a/2 b=a%2 b=8-(3,a-5) b=a>5?4:2

本题分值: 4.0 用户得分: 4.0 用户解答: b=a%2 标准答案: b=a%2

3. 下面对typedef不正确的叙述是

用typedef可以定义各种类型名,但不能用来定义变量 用typedef可以增加新的基本数据类型

用typedef只是将已存在的类型用一个新的标识符表示 使用typedef有利于程序的通用和移植

本题分值: 4.0 用户得分: 4.0

用户解答: 用typedef可以增加新的基本数据类型 标准答案: 用typedef可以增加新的基本数据类型

4. 若调用一个函数,且此函数中没有return语句,则正确的说法是该函数( )

返回若干个系统默认值 返回一个用户所希望的函数值 返回一个不确定的值 没有返回值

本题分值: 4.0 用户得分: 4.0

用户解答: 返回一个不确定的值 标准答案: 返回一个不确定的值

5. 以下关于运算符优先顺序的描述中正确的是( )

关系运算符<算术运算符<赋值运算符<逻辑运算符 逻辑运算符<关系运算符<算术运算符<赋值运算符 赋值运算符<逻辑运算符<关系运算符<算术运算符 算术运算符<关系运算符<赋值运算符<逻辑运算符

本题分值: 4.0 用户得分: 4.0

用户解答: 赋值运算符<逻辑运算符<关系运算符<算术运算符 标准答案: 赋值运算符<逻辑运算符<关系运算符<算术运算符

6. 下面哪个表达式的值为4:

11/3 11.0/3

(float)11/3

(int)(11.0/3+0.5)

本题分值: 4.0 用户得分: 4.0

用户解答: (int)(11.0/3+0.5) 标准答案: (int)(11.0/3+0.5)

7. 以下不正确的说法为( )

在不同函数中可以使用相同名字的变量 形式参数是局部变量

在函数内定义的变量只在本函数范围内有效

在函数内的复合语句中定义的变量在本函数范围内有效

本题分值: 4.0 用户得分: 4.0

用户解答: 在函数内的复合语句中定义的变量在本函数范围内有效 标准答案: 在函数内的复合语句中定义的变量在本函数范围内有效

8. 下面程序#include main(){int y=10;do {y--;}while(--y);printf('%d ',y--);}的运行结果是( )

1 -1 8 0

本题分值: 4.0 用户得分: 4.0 用户解答: 0 标准答案: 0

9. 写出下面程序的输出结果( )main(){int

x;x=-3+4*5-6;printf('%d',x);x=3+4%5-6;printf('%d',x);x=-3*4%6/5;printf('%d',x);x=(7+6)%5/2;printf('%d',x);}

11 1 0 1 11 -3 2 1 12 -3 2 1 11 1 2 1

本题分值: 4.0 用户得分: 4.0

用户解答: 11 1 0 1 标准答案: 11 1 0 1

10. 在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>括起时,寻找被包含文件的方式是( )

仅仅搜索当前目录 仅仅搜索源程序所在目录

直接按系统设定的标准方式搜索目录

先在源程序所在目录搜索,再按系统设定的标准方式搜索

本题分值: 4.0 用户得分: 4.0

用户解答: 直接按系统设定的标准方式搜索目录 标准答案: 直接按系统设定的标准方式搜索目录

11. 执行以下程序后的输出结果是( )int

w=3,z=7,x=10;printf('%d',x>10?x+100:x-10);printf('%d',w++||z++);printf('%d',!w>z);printf('%d',w&&z);

0111 1111 0101

0100

本题分值: 4.0 用户得分: 0.0 用户解答: 0111 标准答案: 0101

12. 定义如下变量和数组:int k,a[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )。for(k=0;k<3;k++) printf('%d ',a[k][2-k]);

3 5 7 3 6 9 1 5 9 1 4 7

本题分值: 4.0 用户得分: 0.0 用户解答: 1 5 9 标准答案: 3 5 7

13. 下列运算符中优先级最低的是( )

? : && + !=

本题分值: 4.0 用户得分: 4.0 用户解答: ? : 标准答案: ? :

14. 设有程序段t=0;while(printf('*')){t++;if(t<3) break;}下面描述正确的是( )

其中循环控制表达式与0等价 其中循环控制表达式与'0'等价

其中循环控制表达式是不合法的 以上说法都不对

本题分值: 4.0 用户得分: 4.0

用户解答: 其中循环控制表达式与'0'等价 标准答案: 其中循环控制表达式与'0'等价

15. C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。如果格式说明的个数小于输出

16. 项的个数,多余的输出项将( );如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)

不予输出 输出空格 照样输出 输出不定值或0

本题分值: 4.0 用户得分: 4.0

用户解答: 不予输出 标准答案: 不予输出

16. 设有以下程序:#inlude main(){int * *k,*j,i=100;j=&i;k=&j;printf(“%d”, * *k);}上述程序的输出结果是( )

运行错误 100 i的地址 j的地址

本题分值: 4.0 用户得分: 0.0

用户解答: 运行错误 标准答案: 100

17. 系统的标准输入文件是指( )

键盘 显示器 软盘 硬盘

本题分值: 4.0 用户得分: 4.0 用户解答: 键盘 标准答案: 键盘

18. 若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是( )

exp==0 exp!=0 exp==1 exp!=1

本题分值: 4.0 用户得分: 4.0 用户解答: exp!=0 标准答案: exp!=0

19. 下面程序main(){int x=4,y=0,z;x*=3+2; printf(“%d”,x);x*=y= =(z=4); printf(“%d”,x);}的输出结果是( )

14 40 20 0 20 4 14 4

本题分值: 4.0

本文来源:https://www.bwwdw.com/article/vnuh.html

Top