C语言试卷及答案
c语言试卷(含答案)
一、选择题(26分)
1. 正确的C语言标识符是(A)。
A._buy_2 B.2_buy C.?_buy D.buy?
2. 以下选项中,合法转义字符的选项是(A)。
A.’\\’ B.’\018’ C.’xcb’ D.’\ab
3、下列语句中,错误的是(B )
A、#define PI 3.14159
B、#include <math.h>;
C、if(2);
D、for(;;) if(1) break;
4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()
A、 a>=10 or a<=0
B、 a>=0|a<=10
C、 a>=10 &&a<=0
D、 a>=10‖a<=0
5、以下对break语句使用的正确描述是()
A、可以出现在程序中的任何位置
B、只能出现在循环结构中或switch结构中
C、只能出现在switch结构中
D、只能出现在循环结构中
6. C语言程序的基本单位是(C)。
A.程序行 B.语句 C.函数 D.字符
7、已知各变量的类型说明如下:()
int m=6,n, a, b;
unsigned long w=8;
double x=3.14, y=0.12;
则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18
C.x%3 D.y=float (m)
8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)
A、数组x和y的长度相同
B、x数组长度小于y数组长度
C语言期末考试试题及详细答案
选择练习题
1、C 语言中最简单的数据类型包括( B )。
A 、整型,实型,逻辑型
B 、整型,实型,字符型
C 、整型,字符型,逻辑型
D 、整型,实型,逻辑型,字符型 2、C 语言中,运算对象必须是整型数的运算符是(A )。
A 、%
B 、/
C 、%和/
D 、*
3、为表示关系x <y <z ,应使用C 语言表达式( A )。
A 、(x <y)&&(y <z)
B 、(x <y)AND (y <z)
C 、(x <y <z)
D 、(x <y) &(y <z)
4、C 语言程序的基本单位是( C )。
A 、程序行
B 、语句
C 、函数
D 、字符
5、C 语言的程序一行写不下时,可以( D )。
A 、用逗号换行
B 、用分号换行
C 、用回车符换行
D 、在任意一空格处换行
6、下述标识符中,( C )是合法的用户标识符。
A 、A&
B B 、void
C 、_student
D 、ab* 7、在C 语言中,字符型数据在内存中以( B
A 、补码
B 、ASCII 码
C 、反码
D 、原码
8、一个程序由若干文件组成,共用同一变量,则此变量的存储类别应该为( B
)。
A 、auto
B 、extern
C 、static
D 、Register 9、以下关于switch 语句和break 语句的描述中,只有(B A 、在switch 语句中必须使用break 语句
B 、在switch 语句中,可以根据需要使用或不使用break 语句
C 、break 语句只能用于switch 语句中
D 、break 语句是switch 语句的一部分
10、C 语言规定:调用一个函数时,实参变量和形参变量之间的数据传递是(B )。
c语言程序设计试卷及答案(A)
c语言程序设计试卷及答案(A) C语言程序设计试卷及答案(A)
试卷
一、选择题(共10题,每题2分,总分20分)
1. 下列哪个函数可以计算字符串长度?
A. scanf()
B. gets()
C. puts()
D. strlen()
2. C语言中,以下哪个关键字用于定义常量?
A. const
B. static
C. extern
D. volatile
3. 在C语言中,以下哪个运算符具有最高的优先级?
A. =
B. ++
C. +
D. *
4. 结构体是由一组相关的____组成的。
A. 函数
B. 数据
C. 指针
D. 宏
5. 在C语言中,以下哪个循环结构会先判断条件?
A. while
B. do-while
C. for
D. if
6. 下列哪种数据类型不能存储整数?
A. int
B. double
C. char
D. long
7. 在C语言中,以下哪个关键字用于终止循环?
A. continue
B. goto
C. break
D. return
8. C语言中,以下哪种数据结构是先进先出(FIFO)的?
A. 栈
B. 队列
C. 链表
D. 数组
9. 在C语言中,以下哪个关键字用于定义函数?
A. function
B. procedure
C. method
D. void
10. 下列哪个函数可以将浮点数四舍五入为整数?
A. ceil()
B. floor()
C. round()
D. trunc()
二、填空题(共5题,每题4分,总分20分)
1. 下划线开头的标识符在C语言中一般用于定义_____。
2. 以下哪个函数可以将字符串转换为整数?
C语言试卷及答案
一、选择题。(每空2分,共计40分)
本试卷包括第一卷和第二卷,答卷时间总共120分钟)
第一卷
第一部分:基础知识(20项,共40分)
1.一个C语言程序是由(C )组成的。
A.主程序B.子程序C.函数D.过程2.转换说明符%x的输出形式是(C )。
A.十进制B.八进制C.十六进制D.二进制3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b)
printf ( “------------“) ;的正确说法是(C )。
A.循环体只执行一次B.死循环
C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为( A )。
x=1; y=2; z=3; z=(x>y)?z :y ; z = (z
A.1 B.4 C.2 D.3
5.下面标识符中,合法的用户标识符为(D )。
A.P#Ad B.12a C.char D._int
6.‘A’+ 3 的结果是( B )。
A.’A’B.’D’的ASCⅡ码C.65 D.3 7.语句char str[20];说明str是一个字符串,最多能表示( B )。
A.20个字符B.19个字符C.18个字符D.21个字符
8.将int 型变量n转换成float型变量的方法是( B )。A.float n B.(float)n C.float(n) D.21个字符9.以下不正确的描述是( C )。
A.使用while和do-while循环时,循环变量初始化的操作应在循环语句之前完成
C语言试卷_含答案
C语言试卷
姓名:_________________ 分数:_______________
一、选择题((1)~(10)每题3分,共30分)
1.要调用数学函数时,在#include命令行中应包含___C___。
A、”stdio.h”
B、”string.h”
C、”math.h”
D、”ctype.h”
2. C 语言程序中可以对程序进行注释,注释部分必须用符号___C___括起来。
A.‘{‘ 和’}’ B.‘[‘和’]’ C.“/*”和”*/” D.“*/”和”/*”
3.表达式strcmp(“box”, “boss”) 的值是一个___A___。
A、正数
B、负数
C、 0
D、不确定的数
4.判断i和j至少有一个值为非0的表达式是___C___。
A、 i!=0 && j!=0
B、i*j!=0
C、i!=0 || j!=0
D、i&&j
5.若以下选项中的变量已正确定义,则正确的赋值语句是___C___
A. x1=26.8%3
B. 1+2=x2
C. x3=0x12
D. x4=1+2=3;
6.switch语句___A___。
A. 都可以用if-else if结构实现
B. 都不可以用if-else if结构实现
C. 有的可以用if-else if结构实现
D. 大部分不可以用if-else if结构实现
7.设有以下定义
int a = 0;
double b = 1.25;
char c = ’A’;
#define d 2
则下面语句中错误的是___D___
A. a++;
B. b++
C. c++;
D. d++;
8.设有定义:int a,*pa=&a;以下scanf语句中能正确为变量a读入数据的是___A___
(完整版)C语言试卷及答案
(完整版)C语言试卷及答案
一、选择题(每题2分,共40分)
1、C语言源程序的基本单位是( )
A.程序行
B.语句
C.函数
D.字符
2、C语言规定:在一个源程序中,main函数的位置()。
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以任意D.必须在最后
3、在下列字符列中,合法的标识符是( )
A.p12&.a
B.stud_100
C. water$12
D.88sum
4、在C语言中,要求运算的数必须是整数的运算符是()
A./
B.!
C.%
D.= =
5、设有语句 int a =3;则执行了语句a + = a - = a*a;后,变量a 的值是()
A、3
B、0
C、9
D、-12
6、设a=5,b=6,c=7,d=8,m=2,n=2,执行(m=a > b)&&(n=c>d)后n的值为()
A、1
B、2
C、3
D、4
7、执行下列程序时输入:1234567,程序的运行结果是()
main()
{
int x,y;
scanf(“%2d%*2c%1d”,&x,&y);
printf(“%d\n”,x+y);
}
A.17
B.46
C.15
D.9
8、下述程序的输出结果是() #include
void main()
{int x=-1,y=4;
int k;
k=++x<=0&&!(y--<=0);
printf("%d,%d,%d",k,x,y);}
A.0,0,3
B.0,1,2,
C.1,0,3,
D.1,1,2
9、为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C语言程序设计试卷(含答案)
C语⾔程序设计试卷(含答案)
.
2015年春季学期
《C 语⾔程序设计》试卷A
⼀.选择(每道⼩题2分,合计30分)
1、以下选项中合法的标识符是( )。 A)1_1
B)1-1
C)_11
D)1_ _
2、若函数中有定义语句:int k;,则( )。 A)系统将⾃动给k 赋初值0 B)这时k 中的值⽆定义 C)系统将⾃动给k 赋初值-1
D)这时k 中⽆任何值
3、以下选项中,能⽤作数据常量的是( ) 。
A)o115
B)0118
C)1.5e1.5
D)115L
4、设有定义:int x=2;,以下表达式中,值不为6的是( )。 A)x*=x+1 B)X++,2*x C)x*=(1+x)
D)2*x,x+=2
5、程序段:int x=12; double y=3.141593;printf("%d%8.6f",x,y);的输出结果
是( )。 A)123.141593 B)12 3.141593
C)12,3.141593
D)123.1415930
6、把2进制数10000111101转化为⼗进制数为( )。
A)1083
B)1084 C)1085
D)1086
7、以下是if 语句的基本形式: if(表达式) 语句其中"表达式"( )。 A)必须是逻辑表达式
B)必须是关系表达式 C)必须是逻辑表达式或关系表达式
D)可以是任意合法的表达式
8、有以下程序
#include main()
{ int x; scanf("%d",&x);
if(x!=10) printf("%d\n",x);}
程序运⾏时,输⼊的值在哪个范围才会有输出结果( )。 A)不等于10的整数 B)⼤于3且不等于10的整数 C)⼤于3或等于10的整数
C语言模拟试卷(带答案)
C语言模拟试卷(带答案)
精品文档
单选题:
1、执行下面的程序段后,变量k中的值为
s[0]=k; k=s[1]*10;
A. 不定值
B. 33
C. 30
D. 10
答案: A
2、设有以下定义:
#define N 3
#define Y(n) ( (N+1)*n)
则执行语句:z=2 * (N+Y(5+1));后,z的值为_______.2*(3+
(4*5+1)
A. 出错
B. 42
C. 48
D. 54
答案: C
3、若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____
A. 1
B. 2
C. 2.0
D. 2.5
答案: c
4、请选出以下语句的输出结果____
printf("%d\n",strlen("\t\ 065\xff\n"))
A. 5
B. 4
C. 8
D. 输出项不合法,无正常输出
答案: B
5、为避免嵌套的条件分支语句if…else的二义性,C语言规定,C 程序中的
else总是与____组成配对关系。
A. 其上面距它最近的,并且没有其他else与其配对的if相配对
B. 在同一行上的if
C. 缩排位置相同的if
D. 在其之前未配对的if
答案: A
6、若X和Y都是int型变量,X=100,Y=200,且有下面的程序片段: printf("%d",(X,Y));
上面程序片段的输出结果是
A. 200
B. 100
C. 100 200
D. 输出格式符不够,输出不确定的值
答案: A
7、请读程序片段(字符串内没有空格字符):
printf("%d\n", strlen("ATS\n012\1\\"));
《C语言程序设计》期末考试试卷以及答案提示(共五篇)
《C语言程序设计》期末考试试卷以及答案提示(共五篇)
第一篇:《C语言程序设计》期末考试试卷以及答案提示
一、单项选择题(本大题共20题,每题2 分,共40分)
1、以下不是C语言的特点的是 B。A、C语言简洁、紧凑
B、能够编制出功能复杂的程序(任何程序都可以,不算特点)
C、C语言可以直接对硬件进行操作
D、C语言移植性好
2、以下不正确的C语言标识符是 D
A、ABC
B、abc
C、a_bc
D、ab.c(只能是字母,下划线,数字;另外数字不可开头)
3、一个C语言程序是由B。A、一个主程序和若干子程序组成B、函数组成 C、若干过程组成 D、若干子程序组成
4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是 B A、有零个或多个输入
B、有零个或多个输出(有一个或多个输出)
C、有穷性
D、可行性
5、设变数a是整型,f是实型,i是双精度型,则表达式10+…a‟+i*f值的数据类型为 C A、int B、float C、double D、不确定(低类型要转换为高类型)
6、在C语言中,char型数据在内存中的存储形式是 D。A、补码
B、反码
C、源码
D、ASCII码
7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是B。#include main(){ int x;float y;scanf(“%3d%f”,&x,&y);} A、12345 B、123 C、45 D、345(由scanf语句可知取三位数值给X)
8、若有以下定义int a,b;float x,则正确的赋值语句是B。A、a=1,b=2(少了分号)B、b++;C、a=b=5(句末少了分号)D、b=int(x);(右侧要是确切的值)
C语言试卷(含答案)
一、单项选择题(每小题2分,共40分)
1、sizeof(float)是()
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);
为了把100和分别赋给i和f,则正确的输入为()。
A. 100
B. i=100,f=765.12
C. 100
D. x=100y=
3、#include<>
voidmain()
{
inta=3,b=2,c=1;
intx=10,y=20;
if(a
if(b!=0)
if(!x)
y=1;
elseif(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是()。
A. 20
B. 1
C. 0
D. -1
4、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次
B. while的循环控制条件比do…while的循环控制条件严格
C. do…while允许从外部转到循环体内
D. do…while的循环体不能是复合语句
5、执行下面的C程序段后,输出结果是()。inta=5;
while(a--);
printf("%d",a);
A. 54321
B. 4321
C. 0
D. -1
6、在C语言中,()是在所有函数外部声明的。
A. 全局变量
B. 局部变量
C. 形参
D.实参
7、分析下面的C程序:
#include<>
voidmain()
{
intnum=0;
while(num<=2){
c语言试卷及答案
C语言程序设计
一、单项选择题
1.以下叙述不正确的是______。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序一行内可以写多条语句
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
2.以下正确的C语言标识符是 __ ____。
A)%x B)a+b C)a123; D)test!
3.以下对’\t’描述正确的是______。
A) ’\t’是两个字符B) ’\t’是一个字符
C) ’\t’是一个字符串D)以上都不是
4.C语言中的简单数据类型有______。
A)整型、实型、逻辑型B) 整型、字符实型、逻辑型
C)整型、实型、字符型D) 整型、实型、字符型、逻辑型
5.在C语言中,数字029是一个______。
A)八进制数B)十六进制数C)十进制数D)以上都不是6.以下选项中,当为x大于的奇数时,值为0的表达式是______。
A)x%2==0 B) x%2==1 C)x/2 D) x%2!=0 7.已知char c=’d’;,则printf(“%c”,’A’+(‘e’-c));的输出结果是______。
A)a B)e C)B D)D
8.已知int a=1,b=3,t; ,若要将a和b变量中的数据进行交换,则下面正确的是______。
A)a=b; b=a; B)a=t; t=b; b=a;
C)t=a; a=b; b=t; D)t=a; b=t; b=a;
9.已知int a=2,b; ,则执行语句b=1.0/a;后,b的值是__ ____。
A)0.5 B)0 C)1 D)2
C语言试卷(含答案)
C语言试卷(含答案)
一、单项选择题(每小题2分,共40分)
1、sizeof(float)是()
A. 一个双精度型表达式
B. 一个整型表达式
C. 一种函数调用
D. 一个不合法的表达式
2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);
为了把100和分别赋给i和f,则正确的输入为()。
A. 100
B. i=100,f=765.12
C. 100<回车>
D. x=100y=
3、#include<>
voidmain()
{
inta=3,b=2,c=1;
intx=10,y=20;
if(a<b)< p="">
if(b!=0)
if(!x)
y=1;
elseif(x)
y=0;
y=-1;
printf("%d",y);
}
上面的C程序的输出结果是()。
A. 20
B. 1
C. 0
D. -1
4、C语言中,while和do…while循环的主要区别是()。
A. do…while的循环体至少无条件执行一次
B. while的循环控制条件比do…while的循环控制条件严格
C. do…while允许从外部转到循环体内
D. do…while的循环体不能是复合语句
5、执行下面的C程序段后,输出结果是()。inta=5; while(a--);
printf("%d",a);
A. 54321
B. 4321
C. 0
D. -1
6、在C语言中,()是在所有函数外部声明的。
A. 全局变量
B. 局部变量
C. 形参
D.实参
C语言期末考试试卷及答案
C语言期末考试试卷(A)
一、单项选择题(本大题共20题,每题2 分,共40分)
1、以下不是C语言的特点的是( A )
A、 C语言简洁、紧凑
B、能够编制出功能复杂的程序
C、 C语言可以直接对硬件进行操作
D、 C语言移植性好
2、以下不正确的C语言标识符是( D )
A、 ABC
B、 abc
C、 a_bc
D、 ab.c
3、一个C语言程序是由( B )
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成
4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的
是( A )
A、有零个或多个输入
B、有零个或多个输出
C、有穷性
D、可行性
5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( C )
A、 int
B、 float
C、 double
D、不确定
6、在C语言中,char型数据在内存中的存储形式是( C )
A、补码
B、反码
C、源码
D、ASCII码
7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值
是( ) 。
#include<stdio.h>
main(){
int x;
float y;
scanf("%3d%f",&x,&y);
}
A、 12345
B、 123
C、 45
D、 345
8、若有以下定义int a,b; float x,则正确的赋值语句是( )
A、 a=1,b=2
B、 b++;
C、 a=b=5
D、 b=int(x);
9、以下程序的执行结果是( )
#include<stdio.h>
c语言试卷(含答案)
一、选择题(26分)
1. 正确的C语言标识符是(A)。
A._buy_2 B.2_buy C.?_buy D.buy?
2. 以下选项中,合法转义字符的选项是(A)。
A.’\\’ B.’\018’ C.’xcb’ D.’\ab
3、下列语句中,错误的是(B )
A、#define PI 3.14159
B、#include ;
C、if(2);
D、for(;;) if(1) break;
4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()
A、 a>=10 or a<=0
B、 a>=0|a<=10
C、 a>=10 &&a<=0
D、 a>=10‖a<=0
5、以下对break语句使用的正确描述是()
A、可以出现在程序中的任何位置
B、只能出现在循环结构中或switch结构中
C、只能出现在switch结构中
D、只能出现在循环结构中
6. C语言程序的基本单位是(C)。
A.程序行 B.语句 C.函数 D.字符
7、已知各变量的类型说明如下:()
int m=6,n, a, b;
unsigned long w=8;
double x=3.14, y=0.12;
则以下符合C语言语法的表达式是(A)。
A.a+=a-=(b=2)*(a=8) B. n=n*3=18
C.x%3 D.y=float (m)
8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)
A、数组x和y的长度相同
B、x数组长度小于y数组长度
C、x数组长度大于y数组长度
D、上述说法都不对
9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )
C语言期末考试试卷附参考答案
一、单项选择题(请将答案填在下面表格中20×1)
1. 以下叙述中正确的是()。
A. C语言比其他语言高级
B. C语言可以不用编译就能被计算机识别执行
C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D. C语言出现的最晚,具有其他语言的一切优点
2. 以下叙述中正确的是()。
A.构成C程序的基本单位是函数
B.可在一个函数中定义另一个函数
C. main函数必须放在其他函数之前
D.所有被调用的函数一定要在调用之前进行定义3. 以下叙述中正确的是()。
A. C语言程序总是从第一个函数开始执行
B.在C语言程序中,要调用函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
4. 以下有关for循环的正确描述是()。
A. for循环只能用于循环次数已经确定的情况
B. for循环是先执行循环体语句,后判断表达式
C.在for循环中,不能用break语句跳出循环体
D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
5. 对下面程序段的描述,正确的是()。
x=-1;
do
{x=x*x;}while(!x);
A.是死循环
B. 循环执行一次
C. 循环执行两次
D. 有语法错误
6. 以下有关C语言数组说法正确的是()。
A.数组元素的数据类型可以不一致
B.数组元素的个数可以不确定,允许随机变动
C.可以使用动态内存分配技术,定义元素个数可变的数组
D.定义一个数组后,就确定了它所容纳的具有相同数据类型元素的个数
C语言试卷及答案
23.C 语言允许函数值类型缺省定义,此时该函数值隐含的类型是 B 。
(A)float 型 (B)int 型 (C)long 型 (D)double 型
24.若有定义 int a[4]={1,2,3};
请问 a[a[a[0]]]的值是 C 。
(A)1
(B)2
(C)3
(D)4
25.以下正确的描述是____B________
i=a[0]*a[1]+a[2]*a[3];
i 的值为 C
。
(A)2
(B)4
(C)6
(D)10
22.以下正确的函数定义形式是 C
。
(A)double fun(int x,int y);
(B)double fun(int x;int y)
(C)double fun(int x,int y)
(D)double fun(int x,y)
{flag=0; break; } if( found==1 ) printf(“%d 是质数\n”,n); else printf(“%d 不是质数\n”,n); }
3. 计算数组中元素的平均值。
main() {float average(int a[]); int a[10],i; float aver; for(i=0;i<10;i++) scanf(“%d”,&a[i]); aver= average(a) ; printf(“average is %6.2f”,aver); } float average(int a[]) { int sum=0,i; float aver; for(i=0;i<10;i++)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题(每题 1 分,共 20 分)
1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。
A、循环
B、递归
C、转移
D、嵌套
2. 下列标识符中,合法的是_______ 。
A) unsigned B) 5ab C) INT# D)_num2
3. 若float x ;x = 10/4 ;x的值是。
A、2.5
B、2.0
C、3
D、 2
4. 表达式!x 等价于。
A、x==0
B、x==1
C、x != 0
D、x != 1
5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。
A、算术运算、赋值运算、关系运算
B、关系运算、赋值运算、算术运算
C、算术运算、关系运算、赋值运算
D、关系运算、算术运算、赋值运算
6. 能将高级语言编写的源程序转换为目标程序的是。
A、链接程序
B、解释程序
C、编译程序
D、编辑程序
7. 下列语句定义pf为指向float类型变量f的指针,是正确的。
A、float f, *pf = f;
B、float f, *pf = &f;
C、float *pf = &f, f;
D、float f, pf = f;
8. 一个C程序的执行是从。
A、本程序的main函数开始,到main函数结束
B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C、本程序的main函数开始,到本程序文件的最后一个函数结束
D、本程序文件的第一个函数开始,到本程序main函数结束
9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。
A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)
B、(x>=1)||(x<=10)||(x>=200)||(x<=210)
C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210)
D、(x>=1)||(x<=10)&&(x>=200)||(x<=210)
10. 对两个数组a和b进行如下初始化
char a[]=“ABCDEF”;char b[]={ ‘A’,’B’,’C’,’D’,’E’,’F’};
则以下叙述正确的是。
A、a和b数组完全相同
B、a和b长度相同
C、a和b中都存放字符串
D、a数组比b数组长度长
11. 是不正确的字符常量。
A、'\n'
B、'1'
C、"a"
D、'\101'
12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。
A、k=(a>b)?1:0;
B、k=a>b;
C、k=a<=b;
D、a<=b ? 0 : 1;
13. 设变量定义为“int x, *p=&x;”,则&*p相当于。
A、p
B、*p
C、x
D、*&x
14. 有两个字符数组a、b,则以下正确的输入语句是。
A)gets(a,b); B) scanf(“%s%s”,a,b);
C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”);
15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回给实参
D、由用户指定传递方式
16. C语言规定,函数返回值的类型是由。
A、return语句中的表达式类型所决定
B、调用该函数时的主调函数类型所决定
C、调用该函数时系统临时决定
D、在定义该函数时所指定的函数类型所决定
17. 若已定义char s[10]; 则在下面表达式中不表示s[1]的地址的是。
A、s+1
B、 s++
C、&s[0]+1
D、&s[1]
18. 下列关于switch语句和break语句的说法中,正确的是。
A、break语句是switch语句中的一部分。
B、在switch语句中可以根据需要使用或不使用break语句。
C、在switch语句中必须使用break语句。
D、以上三个结论中有两个是正确的。
19. 以下对二维数组a的正确说明是。
A、int a[ ][3]={ 0 };
B、int a[3][ ]={ {1},{2},{3} };
C、int a[1][3]={ 1,2,3,4 };
D、int a[2][3]={ {1,2},{3,4},{5,6} };
20. 以下结构体类型和变量的定义,正确的是。
A、struct student
B、struct
{ int number, {int number,
char name[20], char name[20],
}s; };s;
C、struct student
D、struct student
{ int number; {int number;
char name[20]; char name[20];
}s; };s;
二、填空题(每空 2 分,共 20 分)
1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果①。
2.C语言运算符中,优先级最低的是②。
3.int x; float y;且执行scanf(“%3d%f”,&x,&y);语句时,从第一列开始输入数据12345 678 ,则x 的值是③y的值是④。
4.定义int i=1;执行while(i++<5)后i的值为⑤。
5.执行下列语句char s[4]=”DEF”,*p; p=s;后,*(p+3)的值是⑥。
6.构成数组的各个元素必须具有相同的⑦。
5.在C语言中,二维数组元素在内存中的存放顺序是⑧。
7.在C语言中,逻辑“假”值为⑨。
8.字符串”ab\034\\\x79”的长度为⑩。