单项选择题(每小题2分,共50分)
1、一个C程序的执行是从___A__。
A、本程序的main函数开始,到main函数结束
B、本程序的main函数开始,到本程序文件的最后一个函数结束
C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
2、C语言程序的基本单位是___C___。
A、程序行 B、语句
C、函数 D、字符
3、请选出可用作C语言用户标识符的一组标识符___B___。
A、void B、a3_b3 C、For D、2a
define _123 -abc DO
WORD IF ase sizeof
主要特点
C语言是一种结构化语言,它有着清晰的层次,可按照模块的方式对程序进行编写,十分有利于程序的调试,且c语言的处理和表现能力都非常的强大,依靠非常全面的运算符和多样的数据类型,可以轻易完成各种数据结构的构建,通过指针类型更可对内存直接寻址以及对硬件进行直接操作,因此既能够用于开发系统程序,也可用于开发应用软件。
以上内容参考:百度百科-c语言
1、C语言的跳转语句中,对于break和continue说法正确的是_______。A、continue语句只应用于循环体中
B、break语句只应用于循环体中 (switch也用)
C、break是无条件跳转语句,continue不是 (均无条件跳转)
D、break和continue的跳转范围不够明确,容易产生问题 (goto跳转范围不够明确)
2、对于do...while语句,下列说法中正确的是______。
A、用do...while语句可实现分支程序设计(循环)
B、当循环条件不成立时,至少也要执行一次循环体
C、当循环条件不成立时,一次也不执行循环体 (至少执行一次)
D、do...while与while结构完全相同 (不同)
3、下列程序段执行时,若从键盘输入23,则输出为______。
int c,num
scanf("%d",&num)
do
{
c=num%10
printf("%d",c)
num=num/10
}while(num>0)
printf("\n")
解释:
第一次循环 23%10 = 3 输出3,23/10(整除)值为2 继续循环
第二次循环 2 %10 = 2 输出2 2/10值为0 退出循环
结果 32
4、若I,j已定义为int型,则以下for循环是( )。
for(I=0,j=0;(j!=123)&&(I<4);I++);
A、无限循环
B、循环次数不定
C、执行4次
D、执行3次
解释:
j != 123 永远为真
上面一句等价为 for(I=0;I <4;I++); 所以4次
5、对于for(表达式1;;表达式3)可以理解为________。
A、for(表达式1;0; 表达式3)
B、for(表达式1;1; 表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
解释:for(表达式1;;表达式3) 说明循环不判断循环条件永远为真所以
for(表达式1;1; 表达式3)
6、执行下列程序段后,I值是( )。
int I,x;
for(I=1,x=1;I<=20;I++)
{
if(x>=10) 语句1
break;
if(x%2==1) 语句2
{
x+=5;
continue;
}
x-=3;
}
第一次循环:语句1为假,语句2为真执行 x+ = 5 x值变成6 重新循环
第二次循环:语句1为假,语句2为假执行 x- = 3 x值变成3 重新循环
第三次循环:语句1为假,语句2为真执行 x+ = 5 x值变成8 重新循环
第四次循环:语句1为假,语句2为假执行 x- = 3 x值变成5 重新循环
第五次循环:语句1为假,语句2为真执行 x+ = 5 x值变成10 重新循环
第六次循环:语句1为真,退出循环 x值为10
7、下列程序的执行结果是( )。
#include<stdio.h>
main( )
{
int s=0, k;
for(k=7k>=0k--)
{
switch(k)
{
case 1:
case 4:
case 7:
s++;
break;
case 2:
case 3:
case 6:
break;
case 0:
case 5:
s+=2;
break;
}
}
printf("s=%d\n",s);
}
switch语句一旦匹配到case就不在匹配case了,直接按顺序执行下一个case中的代码。不难得出答案。
8、下列程序段执行结果是输出( )。
x=3;
do
{
printf("%2d",x--)
} while(!x);
x++ 和++x 前缀和后缀的问题数上讲了很多。
第一次循环输出3 x的值变成2 !2 为假退出循环
9、以下程序的执行结果是( )。
#include
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main( )
{
int I=1,n=0
while(I<=NUM)
{
n++
printf("%d",n)
I++
}
printf("\n")
}
宏展开:
等价于 while(I <= (M+1)*M/2 )
等价于 while(I <= (N+1+1)*N+1/2 )
等价于 while(I <= (2+1+1)*2+1/2 )
等价于 while(I <= 8 )
10、若I,j已定义为int型,则以下程序段中内循环体"printf("sd\n")"的执行次数是__________。
#include
main( )
{
int j,I
for(I=5I>=1I--) 执行5次
for(j=0j<4j++) 执行4次
printf("sd\n")执行5×4 = 20次
}
循环中条件变量x++ 和++x 等效
结果我没验证 C语言学习推荐看 point on c
C 程序设计试题库C语言概述练习题1.一个C程序的执行是从( )
A.本程序的main函数开始,到main函数结束
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C.本程序的main函数开始,到本程序文件的最后一个函数结束
D.本程序文件的第一个函数开始,到本程序main函数结束
2.以下叙述正确的是:( )
A.在C程序中,main函数必须位于程序的最前面
B.程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误
3.以下叙述不正确的是:( )
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的基本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
4.C语言规定:在一个源程序中,main的位置( )
A.必须在最开始
B.必须在系统调用的库函数后面
C.可以任意
D.必须在最后
5.一个C语言程序是由( )
A.一个主程序和若干子程序组成
B.函数组成
C.若干过程组成
D.若干子程序组成
6.C源程序的基本单位是____________
7.一个C源程序中至少包括一个____________
8.在一个C源程序中,注释部分两侧的分界符分别为____________ 和____________
9.在C语言中,输入操作是由库函数____________ 完成的,输出操作是由库函数____________ 完成的
c语言模拟练习题
一、 判断题(2×8=16分)
1、Printf()函数总是从新行的起始位置开始打印。 ( )
2、所有的变量在使用前都必须予以申明。( )
3、在申明变量时必须给出变量的类型。( )
4、C语言认为变量number和NuMbEr是相同的。( )
5、打印三行输出的C语言程序必须用三条printf语句。( )
6、求余运算符%只能用于两个整数操作数。( )
7、switch选择结构中必须有default子句。( )
8、如果x>y或a<b为真,那么表达式(x>y&&a<b)为真。( )
二、 选择题(3×16=48分)
1、下面实现换行功能的格式符为 。( )
A. \t B. \n C. \a D. \k
2. C语言程序由什么组成?(单选)
A. 子程序 B. 主程序和子程序 C. 函数 D. 过程
3. 下面哪个表达式的值为4.
A. 11/3 B. 11.0/3
C. (float)11/3 D. (int)(11.0/3+0.5)
4. 该源程序执行后,屏幕上显示什么?
void main()
{
int a
float b
a=4
b=9.5
printf("a=%d,b=%4.2f\n",a,b)
}
A. a=%d,b=%f\n B. a=%d,b=%f
C. a=4,b=9.50 D. a=4,b=9.5
5. 若有以下说明语句:
char s='\\\092'
则下面哪一项是正确的.
A. 使s的值包含2个字符 B. 说明语句不合法
C. 使s的值包含6个字符 D. 使s的值包含4个字符
6.若k,g均为int型变量,则以下语句的输出为哪一项?
int k,g
k=017
g=111
printf("%d,",k)
printf("%x\n",g)
A. 15,6f B. f,6f C. f,111 D. 15,111
7. 在C语言的if语句中,用作判断的表达式为___。
A. 关系表达式 B. 逻辑表达式
C. 算术表达式 D. 任意表达式
8. 请问:下面这个程序段的输出是什么?
int a,b,c
a=7b=8c=9
if(a>b)
a=b,b=cc=a
printf("a=%d b=%d c=%d\n",a,b,c)
A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8
9. 下面这个程序的输出是什么?
#include <stdio.h>
main()
{
int y=10
while(y--)
printf("y=%d\n",y)
}
A. y=0 B. while构成死循环 C. y=1 D. y=-1
10. 若有以下说明和语句,则输出结果是___。
char str[]="\"c:\\abc.dat\""
printf("%s",str)
A. 字符串中有非法字符 B. \"c:\\abc.dat\"
C. "c:\abc.dat" D. "c:\\abc.dat"
11. 如果要把常量327存入变量a中,a不能定义成哪些类型?
A. int B. char C. long D. float
12. C语言中,预处理总是以 符号开头。 ( )
A. ¥ B.# C. @ D. ◇
13. C语言中,double类型的数据占 个字节的空间。( )
A. 1 B.2 C. 4 D. 8
14. 下面语句执行完后,b的值为 。 ( )
int a=b=10
b=10+(a++)
A. 10 B.19 C. 20 D. 21
15. 这段程序中的常量有: (多选) ( )
#define PI 3.14
void main()
{
int sum
sum = 10 + 15
printf("sum=%d\n",sum)
printf("result is 25\n")
}
这段程序中常量有:
A. 10 B. sum C. 15
D. 25 E. main F. PI
16. 指出下面错误的表达式:(多选) ( )
A. a+b=5 B. 56=a11 C. i=i++
D. 5.6+6.2%3.1 E. 12 F. a=5,b=6,c=7
三、 填空题(3×8=24分)
1、C语言程序都是从 函数开始执行。
2、函数体用 开始,用 结束。
3、C语言的语句都以 结束。
4、执行循环结构中的 语句能够立即执行下一次循环。
5、执行循环结构或switch结构中的 语句能够立即退出该结构。
6、输出字符串的格式化符为 。
7、C语言中数组名表示数组的 。