第1章 C语言程序设计概述

第1章 测试题

1、单选题:
‍以下叙述正确的是     。‍
选项:
A: C语言实现输入输出功能需要调用库函数
B: C程序中的每一条语句必须单独写在一行上
C: 一个C语言程序中的main函数可以没有,但最多只能有一个
D: C程序在编译时可将注释中的错误反馈给用户
答案: 【 C语言实现输入输出功能需要调用库函数

2、单选题:
‎以下叙述不正确的是     。​
选项:
A:  C语言中的main函数可以在程序的任意位置
B: 在C程序中,注释说明只能位于一条语句的后面
C: C语言是结构化的程序设计语言,其基本组成单位是函数
D: 一个C源程序有且仅有一个main函数 
答案: 【 在C程序中,注释说明只能位于一条语句的后面

3、单选题:
‍一个C源程序      ‎
选项:
A: C语言程序由一个主程序和若干个子程序组成
B: C语言程序由若干个主函数组成
C: C语言程序若干个子函数组成
D: C语言程序若干子程序组成
答案: 【 C语言程序由一个主程序和若干个子程序组成

4、单选题:
‌一个C程序的执行是从        。‌
选项:
A: 从第一个函数开始,到最后一个函数结束
B: 从main函数开始到main函数结束
C: 从第一个函数开始,到main函数结束
D: 从main函数开始,到最后一个函数结束
答案: 【 从main函数开始到main函数结束

5、单选题:
​以下叙述正确的是       。‎
选项:
A: 函数是C语言的基本组成单位
B: 可以在一个函数中定义另外一个函数
C: 一个程序只能有一个函数
D: 一个函数只能在一个程序中调用
答案: 【 函数是C语言的基本组成单位

6、单选题:
‌构成C语言程序的基本单位是       。‏
选项:
A: 函数
B: 文件
C: 语句
D: 字符
答案: 【 函数

7、单选题:
‎以下叙述正确的是       。‏
选项:
A: C语言源程序可以直接运行
B: C语言程序编译后产生源程序,后缀名为.c
C: C语言程序中的函数可以单独编译
D: C语言源程序编译后产生目标程序
答案: 【 C语言源程序编译后产生目标程序

8、单选题:
‌以下叙述正确的是       。‍
选项:
A: 函数的函数体必须用“{ }”括起来
B: 函数的函数体如果只有一条语句,则“{ }”可以省略
C: C语言中函数必须用预处理#include将其包含进来
D: 函数体可以放在程序的任意位置
答案: 【 函数的函数体必须用“{ }”括起来

9、单选题:
‏以下叙述正确的是       。‏
选项:
A: C语言在编译时既检查语法错误,也检查逻辑错误
B: C语言编译时若有语法错误,也会编译成功
C: C语言编译时若有语法错误,则会给用户反馈错误信息
D: C语言程序必须在没有语法错误和逻辑错误的情况下,才能编译成功
答案: 【 C语言编译时若有语法错误,则会给用户反馈错误信息

10、单选题:
‌以下叙述正确的是       。‌
选项:
A: C语言程序每次执行前都要进行编译
B: C语言是解释执行的语言
C: C语言是编译执行的语言
D: C语言程序在链接后进行编译,如果有语法错误,将会给用户报错
答案: 【 C语言是编译执行的语言

11、单选题:
‍以下叙述正确的是       。​
选项:
A: 程序是指由二进制0和1构成的代码
B: 程序是人和计算机之间交流的工具
C: 程序设计语言从机器语言、汇编语言向高级语言发展
D: 程序设计语言从高级语言、汇编语言向机器语言发展
答案: 【 程序设计语言从机器语言、汇编语言向高级语言发展

12、单选题:
‎以下叙述正确的是       。‏
选项:
A: 高级语言更符合人们的语言习惯
B: 汇编语言是由二进制0和1表示的
C: 机器语言晦涩难懂,执行速度也很慢
D: 高级语言可以被计算机直接执行,所以它是高级的
答案: 【 高级语言更符合人们的语言习惯

13、单选题:
‌以下叙述错误的是       。‎
选项:
A: C语言程序是面向对象的程序设计语言
B: C语言数据类型丰富
C: C语言是高级程序设计语言
D: C语言可以直接访问物理地址
答案: 【 C语言程序是面向对象的程序设计语言

14、单选题:
‌C语言从       开始执行。​
选项:
A: 函数
B: 头文件
C: 主函数
D: 定义变量的语句
答案: 【 主函数

15、单选题:
以下叙述正确的是       。‏‍‏
选项:
A: C语言程序执行效率高,但可移植性差
B: C语言程序可以包含多个预处理命令
C: 连接程序只是把源程序连接成目标程序
D: C语言的源程序经过连接可直接执行
答案: 【 C语言程序可以包含多个预处理命令

16、单选题:
‍计算机能够直接执行的程序是       。‎
选项:
A: 机器语言编写的程序
B: 高级语言编写的程序
C: 机器语言编写的函数
D: 汇编语言编写的程序
答案: 【 机器语言编写的程序

17、单选题:
​计算机能够直接执行的是       。‌
选项:
A: 源程序
B: 目标程序
C: 汇编程序
D: 可执行程序
答案: 【 可执行程序

18、单选题:
​以下叙述正确的是       。‍
选项:
A: C语言在编译时检查语法错误
B: C语言在编译时检查语法错误
C: C语言在编译时检查程序的完整性
D: C语言在编译时检查程序的完整性
答案: 【 C语言在编译时检查语法错误

19、单选题:
​C语言源程序要正确的执行,则必须要有       。‎
选项:
A: #include函数
B: main函数
C: 用户自定义函数
D: 输入、输出语句
答案: 【 main函数

20、单选题:
‏以下叙述正确的是       。‏
选项:
A: C语言经过编译生成0和1组成的二进制代码
B: 机器语言经过编译可以生成高级语言指令
C: 机器语言虽然可移植性好,但执行速度比较慢
D: 机器语言不能被计算机直接识别,所以不能用机器语言编写操作系统
答案: 【 C语言经过编译生成0和1组成的二进制代码

21、单选题:
‎关于C语言以下叙述正确的是       。‌
选项:
A: C语言是汇编语言
B: C语言是机器语言
C: C语言是高级语言
D: C语言是低级语言
答案: 【 C语言是高级语言

22、单选题:
‏以下叙述正确的是       。​
选项:
A: C语言程序中的每条语句都用一个分号作为结束符
B:  C语言程序中的每个函数都用一个分号作为结束符
C: C语言中的每条命令都用一个分号作为结束符
D: C语言中的语句末尾可以使用分号,也可以不使用分号
答案: 【 C语言程序中的每条语句都用一个分号作为结束符

23、单选题:
一个C语言程序是由       。​‍​
选项:
A: 一个主函数和若干个库函数组成
B: 一个主函数和若干个子函数组成
C: 一个主过程和若干个子过程组成
D: 一个主函数和若干个函数体组成
答案: 【 一个主函数和若干个子函数组成

24、单选题:
‍在计算机中,一个字节所包含二进制位的个数是        。‌
选项:
A: 2
B: 4
C: 8
D: 16
答案: 【 8

25、单选题:
​下列叙述中正确的是        。‌
选项:
A: C语言是低级语言,因为可以直接访问物理地址
B: C语言可以不用编译就能被计算机识别执行
C: C语言可以直接访问物理地址,但它是高级语言
D: C语言是高级语言,不能被编译成二进制
答案: 【 C语言可以直接访问物理地址,但它是高级语言

26、单选题:
‍下列说法正确的是      。‍
选项:
A: C程序中的每一行必须书写一条语句,不能出现空行
B: C程序的每一条语句都必须书写在一行上,不能跨行
C: C程序的一行中可以书写多条语句
D: C程序的一行只能书写一条语句
答案: 【 C程序的一行中可以书写多条语句

27、单选题:
‎在 C 语言中,每个语句必须以        结束。‍
选项:
A: 回车符
B: 冒号
C: 逗号
D: 分号
答案: 【 分号

28、单选题:
‏C语言程序的开发顺序是        。‍
选项:
A: 编辑、编译、连接、运行
B: 编译、编辑、连接、运行
C: 编辑、连接、编译、运行
D: 连接、编译、编辑、运行
答案: 【 编辑、编译、连接、运行

29、单选题:
​以下叙述中正确的是        。​
选项:
A: C程序中注释部分可以出现在程序中任意合适的地方
B: C程序中若用//表示注释,则注释可以跨行
C: C程序中若用/*和*/表示注释,则注释只能有一行
D: 花括号"{"和"}"可以用来表示注释
答案: 【 C程序中注释部分可以出现在程序中任意合适的地方

30、单选题:
​用C语言编写的源文件经过编译,若没有产生编译错误,则系统将       。‏
选项:
A: 生成目标文件
B: 输出运行结果
C: 生成可执行目标文件
D: 生成源文件
答案: 【 生成目标文件

第2章 C语言的数据类型

第2章 测试题

1、单选题:
‎下列关于C语言用户标识符的叙述中正确的是‏
选项:
A: 可以出现数字、字母和其它符号
B: 可以出现下划线,但必须在起始位置
C: 可以有字母,但字母没有大小写之分
D: 可以出现数字,但数字不能放在起始位置
答案: 【 可以出现数字,但数字不能放在起始位置

2、单选题:
‎以下不是合法的标识符的选项是    。​
选项:
A: WHILE
B: _0_
C: _C 
D: if
答案: 【 if

3、单选题:
‎C语言提供的合法的数据类型关键字是( )。‏
选项:
A: double 
B: Float
C: INT
D: Main
答案: 【 double 

4、单选题:
‍下列字符串可作为合法标识符的是      。‎
选项:
A: double
B: 9_hello
C: _if
D: _!123
答案: 【 _if

5、单选题:
‏下列可用作C语言程序中的标识符的是      。​
选项:
A: print  _do   xy_z 
B: wa:1    scanf_1  ty-1
C: .obj   name_1   while 
D: int   _student    a_1
答案: 【 print  _do   xy_z 

6、单选题:
‎以下选项中,均是不合法的用户标识符的选项是        。‏
选项:
A: A   sky_0   do
B: float   yy_21   _A
C: a-b   continue   double
D: _123   printf   INT
答案: 【 a-b   continue   double

7、单选题:
​下列运算符中优先级最低的运算符是______。‏
选项:
A: <= 
B: =
C: % 
D: !
答案: 【 =

8、单选题:
‏下列运算符中,要求操作数必须是整型的运算符是______。‌
选项:
A: %
B: / 
C: && 
D: !
答案: 【 %

9、单选题:
‍______是合法的C语言字符常量。‏
选项:
A: ′x"
B: e3
C: <#>
D: 〞c program〞
答案: 【 〞c program〞

10、单选题:
‍已定义c是字符型变量,则下列不合法的赋值语句是        。​
选项:
A:  c=′a+b′;
B: c=′47′; 
C: c=′7′; 
D: c=′!′;
答案: 【  c=′a+b′;

11、单选题:
‏下列不合法的C语言转义字符的项目是______。​
选项:
A: ′t′
B: ′xg′ 
C: ′” ′ 
D: ′12′
答案: 【 ′xg′ 

12、单选题:
‌转义字符 ‘101’表示的是    。‏
选项:
A: 字符a
B: 字符A
C: 字符e 
D: 非法的常量
答案: 【 字符A

13、单选题:
‏以下符合C语言语法规则的实型常量是______。​
选项:
A: 1.5E-0.5
B: 3.14159E10
C: E-5
D: -E2
答案: 【 3.14159E10

14、单选题:
‏下面不正确的字符串常量是      。‌
选项:
A: 'hello c' 
B: "3480"
C: "1.345"
D: "V"
答案: 【 'hello c' 

15、单选题:
‌如果int a=5,b=7;则条件表达式"a<b? a-b:b-a"的值是______。‎
选项:
A: 5
B: 7
C: -2
D: 2
答案: 【 -2

16、单选题:
‎设a 为整型变量,不能正确表达数学关系:5<a<10的C语言表达式是         。‌
选项:
A:  a>5 && a<10
B: a= =6|| a= =7 || a= =8 || a= =9
C: 5<a<10
D: !(a<=5) && !(a>=10)
答案: 【 5<a<10

17、单选题:
‎表达式15%6*sqrt(9.0)/3值的数据类型是______。‎
选项:
A:  int
B:  float
C: double
D: 不确定
答案: 【 double

18、单选题:
‍设有以下变量定义,并已赋确定的值 char  c;  int  a;  float  x;  double  m;则表达式:c*a+m-x所求得的数据类型为______。​
选项:
A: char
B: int 
C: float
D: double
答案: 【 double

19、单选题:
​如果i=7,则k=(++i)+(i++)+(i++)执行过后k的值为      ,i的值为          。‎
选项:
A: 21,7 
B: 22,8
C: 24,8
D: 24,10
答案: 【 24,10

20、单选题:
‌以下选项中非法的表达式是______。‍
选项:
A: i>-10&&i<10 
B: (i+1)++
C: (char)(65+32)
D: i=i+=i*i
答案: 【 (i+1)++

21、单选题:
‌下列关于自增运算符++、自减运算符--的叙述中正确的是______。‍
选项:
A: 它们的运算对象可以是任何变量、常量和表达式。
B: 它们的运算对象可以是char型变量和int型变量,但不能是float型变量。
C: 它们的操作数可以是一个,也可以是两个。
D: 它们的运算对象可以是char型变量、int型变量和float型变量。
答案: 【 它们的运算对象可以是char型变量、int型变量和float型变量。

22、单选题:
‍以下选项中,与k=i++完全等价的表达式是______。‎
选项:
A: i=i+1,k=i
B: k=i,i=i+1 
C: k=++i,i=i+1
D: k+=i+1
答案: 【 k=i,i=i+1 

23、单选题:
‌设 int  x=0,y=1; 表达式(--x||y--)的值是______。‏
选项:
A: -1
B: 0
C: 1
D: 2
答案: 【 1

24、单选题:
​设有语句int a=0,b=1,c=2;则下面表达式中,值为0的表达式是______。‌
选项:
A: a||b
B: a<=b 
C: a||b+c&&b-c
D: !((c>b>a&&!c||1)
答案: 【 !((c>b>a&&!c||1)

25、单选题:
‌若有以下定义,则能使值为0的表达式是      。‎int a=9,b=2;‎
选项:
A: a%=(a/b)
B: a%=(a/=b)
C: a=(b-a%=b)
D: b*=(b=a%b)
答案: 【 a%=(a/=b)

26、单选题:
​float a=2.5,b=3.5,则表达式(int)a+b/b的值是______。‎
选项:
A: 3.500000
B: 3.000000
C: 2.000000 
D: 3
答案: 【 3.000000

27、单选题:
‍已有定义:int x=3,y=4,z=5;,则表达式!x-y||(y-z)-1的值是______。‌
选项:
A: -1 
B: 0
C: 1
D: 2
答案: 【 1

28、单选题:
‏已有定义: int x=3,y=4,z=5; 则表达式!(x-y)&&y-z-1的值是_________。‌
选项:
A: -1
B: 0
C: 1
D: 2
答案: 【 0

29、单选题:
‏已知a,b,c都是已定义的整型变量,则符合C语言语法规定的表达式是      。‍
选项:
A: (a+1)=a-=b-=0 
B: !a=a*3*c=2
C: a=a-(b-c)!
D: a=a-c*!(b+a)
答案: 【 a=a-c*!(b+a)

30、单选题:
​若a为int类型,且其值为6,则执行完表达式a+=a-=a*a后,a的值是______。‏
选项:
A: -60
B: 0
C: 1 
D: 60
答案: 【 -60

第3章 顺序结构程序设计

第3章 测试题

1、单选题:
‍关于算法的描述,下列正确的是        。‌
选项:
A: 一个算法可以没有输入,但必须有输出
B: 一个算法必须要有输入,但可以没有输出
C: 一个算法有几个输入就必须有几个输出
D: 一个算法如果没有输入,则此算法是错误的
答案: 【 一个算法可以没有输入,但必须有输出

2、单选题:
‍算法的每一个步骤都应是确切定义的,不能有二义性,相同的输入应该得到相同的输出,这是算法的        。‏
选项:
A: 可行性
B: 确定性
C: 正当性
D: 有穷性
答案: 【 确定性

3、单选题:
‌以下程序片段:‍int x=2,y=3;‍printf();‍的运行结果是          。‍‌‍
选项:
A: 输出为:x=2,y=3
B: 什么都不输出
C: 输出为:y=3
D: 输出为:x=2
答案: 【 什么都不输出

4、单选题:
‌已知a,b,c为int型变量,若从键盘输入:2,3,4<回车>,使a的值为2,b的值为3,c的值为4,以下选项中合法的输入语句是         。‍
选项:
A: scanf(“%2d%3d%4d”,a,b,c);
B: scanf(“%d,%d,%d”,&a,&b,&c);
C: scanf(“%dV%dV%d”,&a,&b,&c);
D: scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
答案: 【 scanf(“%d,%d,%d”,&a,&b,&c);

5、单选题:
‎若int a,b; double x;​‎以下不合法的scanf函数调用语句是          。​‎​
选项:
A: scanf(“%d%o%f”, &a,&b,&x);
B: scanf(“%3d%*3d%lf”,&a,&b,&x);
C: scanf(“%o%f%lo”,&a,&b);
D: scanf(“%ld%lo%o”,&a,&b,&x);
答案: 【 scanf(“%o%f%lo”,&a,&b);

6、单选题:
‎有输入语句:scanf(“a=%db=%dc=%d”,&a,&b,&c);为使变量 a的值为1,b的值为3,c的值为5,则正确的数据输入方式是          。‍
选项:
A: 135↙ 
B: 1,3,5↙
C: a=1 b=3 c=5↙
D: a=1b=3c=5↙
答案: 【 a=1b=3c=5↙

7、单选题:
​putchar ( )函数可以向终端输出一个          。‍
选项:
A: 整型变量表达式值
B: 字符或字符型变量值
C: 字符串 
D: 实型变量值
答案: 【 字符或字符型变量值

8、单选题:
‌getchar()函数的参数个数是        。‎
选项:
A: 0
B: 1
C: 2
D: 3
答案: 【 0

9、单选题:
​printf函数中用到格式符 %8s,其中数字8表示输出的字符占用8列。如果字符串长度等于5,则输出按方式          。​
选项:
A: 右对齐输出该字符串,左补空格
B: 从左起输出该字符串,右补空格
C: 当字符串长度小于格式中规定的长度时,格式中的规定被忽略
D: 输出错误信息
答案: 【 右对齐输出该字符串,左补空格

10、单选题:
‎以下说法正确的是          。​‎​
选项:
A:  scanf()函数的输入项可以是整型、实型、字符型等变量
B: 若省略了scanf()函数中的格式控制字符,则用户在输入终端输入数据时类型不受限制
C: scanf()函数输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("% 4.2f ",&f);
D: scanf()函数输入数据时,必须指明变量的地址 
答案: 【 scanf()函数输入数据时,必须指明变量的地址 

11、单选题:
‎若有以下定义和语句:       int  a=010 ,b=0x10 ,c=10 ;       printf("%d ,%d ,%dn" ,a ,b ,c) ; 则输出结果是:           。‎‎‎
选项:
A: 10 ,10 ,10
B: 8 ,8 ,10
C: 8 ,10 ,10
D: 8 ,16 ,10
答案: 【 8 ,16 ,10

12、单选题:
‎以下程序的输出结果是           。‎‎   main( )    { int  a=10;     printf("%d,%o,%x n",a,a,a);‎ } ‎‎‎
选项:
A: 10,12,a
B: 10,o10,x10
C: d10,o10,x10,
D: 10,2,x10
答案: 【 10,12,a

13、单选题:
‎下列程序执行后的输出结果是           。‏ void main()‏     {  ‏printf(“’s1=%7s’”,”hello”);‏‎‏
选项:
A: s1=”hello” 
B: s1=7hello
C: ’s1=  hello’  
D: ’s1=”hello”’
答案: 【 ’s1=  hello’  

14、单选题:
‎printf()函数中格式控制符%5s,其中数字5表示           。​‎​
选项:
A: 输出项的个数为5
B: 表示输出的字符串占用5列
C: 表示输出的实型数据保留5位小数
D: 输出错误
答案: 【 表示输出的字符串占用5列

15、单选题:
有以下程序段:‎int a,b,c;‎a=10;b=20;c=30;‎a=b;b=c;c=a;‎printf(“a=%d,b=%d,c=%dn”,a,b,c);‎‌‎
选项:
A: a=10,b=20,c=30;
B: a=20,b=30,c=20;
C: a=20 b=30 c=10;
D: 20,30,10
答案: 【 a=20,b=30,c=20;

16、单选题:
有以下程序段:‎     main()‎{char c;‎     c=getchar();},若在键盘上输入hello,则c获得的数据为         。‎‏‎
选项:
A: hello
B: h
C: (hello)
D: 无数据
答案: 【 h

17、单选题:
‍以下程序段的输出结果是‍int  a=1234;‍printf("a=%2dn",a);‍‍‍
选项:
A: a=12
B:  a=34
C: a=1234
D: 提示出错、无结果
答案: 【 a=1234

18、单选题:
‎下列关于printf()函数说法错误的是           。​
选项:
A: printf()函数必须与scanf()函数配合使用
B: printf()函数是格式化输出函数,格式控制字符控制了输出项的形式
C: printf()函数是库函数,必须使用#include命令将其包含进来
D: printf()函数可以输出一个对象,也可以输出多个对象
答案: 【 printf()函数必须与scanf()函数配合使用

19、单选题:
‌设有定义:long x=-654321L;,则以下能够正确输出变量x值的语句是           。​
选项:
A: printf(“x=%dn”,x);  
B: printf(“x=%1dn”,x);
C: printf(“x=%8dLn”,x);
D: printf(“x=%LDn”,x);
答案: 【 printf(“x=%1dn”,x);

20、单选题:
根据定义和数据的输入方式,输入语句的正确形式为           。​已有定义:float f1,f2;​数据的输入方式:4.52​‎                                        3.5​‎​
选项:
A: scanf("%f,%f",&f1,&f2);
B: scanf("%f%f",&f1,&f2);
C: scanf("%3.2f  %2.1f",&f1,&f2);
D: scanf("%3.2f%2.1f",&f1,&f2);
答案: 【 scanf("%f%f",&f1,&f2);

21、单选题:
下面的程序的输出结果是           。‌#include<stdio.h>‌main( )‌{‌       int i=010,j=10;‌       printf("%d,%d",++i,j--);‌}‌​‌
选项:
A: 11,10
B: 9,10
C: 010,9
D: 10,9
答案: 【 9,10

22、单选题:
下列程序的运行结果是        。‎void main()‎{‎int a;‎a=-2L;‎printf("%dn",a);‎}‎‎‎
选项:
A: 赋值不合法
B: 输出值为-2
C: 输出为不确定的值
D: 输出值为2
答案: 【 输出值为-2

23、单选题:
​有如下程序:‏main()‏{ int   x=3 ,y=3,z=1 ; ‏  printf(" %d %dn",(++x ,y++),z+2); } ‏运行该程序的输出结果是           。‏​‏
选项:
A: 3 4 
B: 4 2
C: 4 3
D: 33
答案: 【 33

24、单选题:
下列程序的输出结果是        。‏main()‏         { double d=3.2; int  x ,y ;‏            x=1.2 ; y=(x+3.8)/5.0;‏   &

剩余75%内容付费后可查看

发表评论

电子邮件地址不会被公开。 必填项已用*标注