A. c语言笔试题来几份
留邮箱我给你发试卷和答案
一. 单项选择题
1) C语言中最基本的非空数据类型包括
A.整型、浮点型、无值型 B.整型、字符型、无值型
C. 整型、浮点型、字符型 D. 整型、浮点型、双精度型、字符型
2) C语言中运算对象必须是整型的运算符是
A.% B./ C.= D.<=
3) 若已定义x和y为int类型,则执行了语句x=1;y=x+3/2;后y的值是
A.1 B.2 C.2.0 D.2.5
4) 若有以下程序 段,int a=1,b=2,c=1.0/b*a;则执行后,c中的值是
A.0 B.0.5 C.1 D.2
5) 能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是
A.a>=10ora<=0 B.a>=0|a<=10
C.a>=10&&a<=0 D.a>=10||a<=0
6) 下列字符序列中, 不可用作C语言标识符的是
A.xyd233 B.No.1 C._sd D.xyz
7) 在printf()函数中,反斜杠字符‘\’表示为
A.\’ B.\0 C.\n D.\\
8) 设先有定义:int a=10;则表达示a+=a*=a的值为
A.10 B.100 C.1000 D.200
9) 设先有定义:int y=3,x=2,z=1;则语句:
printf(“%d %d\n”,(++x,y++),z+2);的输出结果为
A.3 4 B.4 2 C.4 3 D.3 3
10) 假定x、y、z、m均为int 型变量,有如下程序段
x=2;y=3;z=1;
m=(y<x)?y:x;
m=(z<y)?m:y;
则该程序运行后,m的值是
A.4 B.3 C2 D.1
11) 以下选项中合法的字符常量是
A. “B” B.’\010’ C.68 D.D
12) 设x=3,y=4,z=5,则表达式((x+y)>z)&&(y==z)&&x||y+z&&y+z的值为
A.0 B.1 C.2 D.3
13) 结构化程序模块不具有的特征是
A.只有一个入口和一个出口
B.要尽量多使用goto语句
C.一般有顺序、选择和循环三种基本结构
D.程序中不能有死循环
14) C语言中,逻辑“真”等价于
A.整数1 B. 整数0 C.非0数 D.TRUE
15) 以下4条语句中,有语法错误的是
A.if(a>b) m=n; B.if(a<b) m=b;
C.if((a=b)>=0) m=a; D.if((a=b;)>=0) m=a;
16) 若i,j均为整型变量,则以下循环
for(i=0,j=2;j=1;i++,j--)
printf(“%5d,%d\n”,I,j);
A.循环体只执行一次 B.循环体执行二次
C.是无限循环 D.循环条件不合法
17) 以下程序段,执行结果为
a=1;
do
{
a=a*a;
}while(!a);
A.循环体只执行一次 B.循环体执行二次
C.是无限循环 D.循环条件不合法
18) C语言中while与do-while语句的主要区别是
A.do-while循环体至少无条件执行一次 B.do-while允许从外部跳到循环体内
B.while的循环体至少无条件执行一次 D.while的循环控制条件比do-while的严格
19) 语句while(!a);中条件等价于
A.a!=0 B.~a C.a==1 D.a==0
20) 以下程序的运行结果为
#include<stdio.h>
main()
{
int i=1,sum=0;
while(i<=100)
sum+=i;
printf(“1+2+3+…+99+100=%d”,sum);
}
A.5050 B.1 C.0 D.程序陷入死循环
21) 以下程序运行结果为
#include<stdio.h>
main()
{
int sum,pad;
sum=pad=5;
pad=sum++;
pad++;
++pad;
printf(“%d\n”,pad);
}
A.7 B.6 C.5 D.4
22) 以下程序的运行结果为
#include<stdio.h>
main()
{
int a=2,b=10;
printf(“a=%%d,b=%%d\n”,a,b);
}
A.a=%2,b=%10 B.a=2,b=10
C. a=%%d,b=%%d D. a=%d,b=%d
23) 为了避免嵌套的if-else语句的二义性,C语言规定else总是
A.与缩排位置相同的if组成配对关系
B.与在其之前未配对的if组成配对关系
C. 与在其之前未配对的最近的if组成配对关系
D.与同一行上的if组成配对关系
24) 对于for(表达式1;;表达式3)可理解为
A.for(表达式1;表达式3) B. for(表达式1;1;表达式3)
C. for(表达式1;0;表达式3) D. for(表达式1;表达式3;表达式3)
25) 在下列数组定义、初始化或赋值语句中,正确的是
A.int a[8]=100; B.int s[5]={1,2,3,4,5,6};
C.int x[]={1,2,3,4,5,6}; D.int n=8;int score[n];
26) 若已有定义:int i,a[100];则下列语句中,不正确的是
A.for(i=0;i<100;i++) a[i]=i; B. for(i=0;i<100;i++) scanf(“%d”,&a[i]);
C.scanf(“%d”,&a); D.for(i=0;i<100;i++) scanf(“%d”,a+i);
27) 与定义char c[]={“GOOD”};不等价的是
A.char c[]={‘G’,’O’,’O’,’D’,’\0’}; B. char c[]=“GOOD”;
C. char c[4]={“GOOD”}; D. char c[5]={‘G’,’O’,’O’,’D’,’\0’};
28) 若已有定义char c[]={“GOOD”};则下列语句 中,不正确的是
A.puts(c); B.for(i=0;c[i]!=’\0’;i++) printf(“%c”,c[i]);
C.printf(“%s”,c); D.for(i=0; c[i]!=’\0’;i++) putchar(c);
29) 若定义a[][3]={0,1,2,3,4,5,6,7};则a数组中行的大小是
A.2 B.3 C.4 D.不确定值
30) 以下程序的运行结果是
#include<stdio.h>
void f(int b[])
{
int i=0;
while(b[i]<=10)
{
b[i]+=2;
i++;
}
}
main()
{
int i,a[6]={-1,5,10,9,13,7};
f(a);
for(i=0;i<6;i++)
{
printf(“%2d”,a[i]);
}
}
A.2 7 12 11 13 9 B.1 7 12 11 13 7
C.1 7 12 11 13 9 D.1 7 12 9 13 7
31) 若执行以下程序段,其运行结果是
char c[]={‘a’,’b’,’\0’,’c’,’\0’};
printf(“%s\n”,c);
A.ab c B.’a’’b’ C.abc D.ab
32) 数组名作为参数传递给函数,作为实际参数的数组名被处理为
A.该数组长度 B.该数组元素个数
C.该函数中各元素的值 D.该数组的首地址
33) 当接受用户输入 的含空格的字符串时,应使用函数
A.scanf() B.gets() C.getchar() D.getc()
34) 一个完整的可运行的C源程序中
A.可以有一个或多个主函数
B.必须有且仅有一个主函数
C.可以没有主函数
D.必须不主函数和其他函数
35) 构成C语言源程序的基本单位是
A.子程序 B.过程 C.文本 D. 函数
36) 某C程序由一个主函数和一个自定义函数组成,则该程序
A.总是从max()函数开始执行
B.写在前面的函数先开始执行
C.写在后面的函数先开始执行
D. 总是从main()函数开始执行
37) C语言规定,一个C源程序的主函数名必须为
A.program B.include C.main D.function
38) 下列说法正确的是
A. 在书写C语言源程序是,每个语句以逗号结束
B. 注释时,’/’和’*’号间可以有空格
C. 无论注释内容的多少,在对程序编译时都被忽略
D. C程序每行只能写一个语句
39) C语言中函数形参的缺省存储类型是
A.静态 B.自动 C.寄存器 D.外部
40) 函数调用语句function((exp1,exp2),18)中含有的实参个数为
A.0 B.1 C.2 D.3
二. 填空题
1. 表达式10/3的结果是 ;10%3的结果是
2. 执行语句:int a=12;a+=a-=a*a;后的值是
3. 以下语句的输出结果是
Short b=65535; printf(“%d”,b);
4. 以下程序的执行结果是
#include<stdio.h>
main()
{
int a,b,x;
x=(a=3,b=a--);
printf(“x=%d,a=%d,b=%d\n”,x,a,b);
}
5. 以下程序的执行结果是
#include<stdio.h>
main()
{
float f1,f2,f3,f4;
int m1,m2;
f1=f2=f3=f4=2;
m1=m2=1;
printf(“%d\n”,(m1=f1>=f2)&&(m2=f3<f4));
}
6. 以下程序的执行结果是
#include<stdio.h>
main()
{
float f=13.8;
int n;
n=(int)f%3;
printf(“n=%d\n”,n);
}
7. 若定义union ex{int i;float f;char a[10]}x;则sizeof(x)的值是
8. 设有int i=-1,如果在printf函数中用%u格式输出i,则输出结果是
9. 数组在内存中的首地址由 表示。
10. “*”称为 运算符。
三. 阅读理解题
1. 下面程序的运行结果是
#include<stdio.h>
main()
{
static int a[4][5]={{1,2,3,4,0},{2,2,0,0,0},{3,4,5,0,0},{6,0,0,0,0}};
int j,k;
for(j=0;j<4;j++)
{
for(k=0;k<5;k++)
{
if(a[j][k]==0) break;
printf(“%d”,a[j][k]);
}
}
printf(“\n”);
}
2. 下面程序的运行结果是
#include<stdio.h>
main()
{
int a[]={1,2,3,4},i,j,s=0;
j=1;
for(i=3;i<=0;i--)
{
s=s+a[]*j;
j=j*10;
}
printf(“s=%d\n”,s)
}
3. 下面程序的运行结果是
#include<stdio.h>
int fun(int x)
{
int s;
if(x==0||x==1)
return 3;
s=x-fun(x-3);
return s;
}
main()
{
printf(“%d\n”,fun(3));
}
4. 下面程序的运行结果是
#include<stdio.h>
unsigned int fun(unsigned num)
{
unsigned int k=1;
do
{
k=k*num%10;
num=num/10;
}while(num);
return k;
}
5. 下面程序的运行结果是
#include<stdio.h>
int fun(int x,int y)
{
static int m=0,n=2;
n+=m+1;
m=n+x+y;
return m;
}
四. 编程题
1. 输入四个整数,要求将它们按由小到大的顺序输出。
2. 编程求s=1-1/2+1/3-1/4+…-1/100。
3. 如果一个数等于其所有真因子(不包括其本身)之和,则该数为完数,例如6的因子有1、2、3,且6=1+2+3,故和为完数,求2~1000中的完数。(选做)
B. c语言简单数据类型有哪些
C语言的基本数据类型为:整型、字符型、实数型。
这些类型按其在计算机中的存储方式可被分为两个系列,即整数(integer)类型和浮点数(floating-point)类型。
这三种类型之下分别是:short、int、long、char、float、double这六个关键字再加上两个符号说明符signed和unsigned就基本表示了C语言的最常用的数据类型。
下面列出了在32位操作系统下常见编译器下的数据类型大小及表示的数据范围:
(2)c语言中非空的基本数据类型有扩展阅读:
在c语言中,为了定义变量、表达语句功能和对一些文件进行预处理,还必须用到一些具有特殊意义的字符,这就是关键字,我们用户自己定义的变量函数名等要注意不可以与关键字同名。
C. c语言中非空的基本数据类型包括哪些
包括两类:
整形类型:int ,short int, long int, long long int, char, bool
浮点类型:float ,double, 双精度浮点型(float_complex,double_complex,long long_comples)
其中非空的包括: unsigned int, int, unsigned short int,short int,
unsigned char, char, float, double, ( 以及 bool, 有的用 0 和 1 表示)。
D. c语言四种基本数据类型
C语言四种基本数据类型:整型,浮点型,指针,聚合类型(数组和结构体)。浮点型:浮点型包括单精度型和双精度型。
(1)单精度型:一般占4个字节(32位),float a=4.5。
(2)双精度型:一般占8个字节(64位),double a=4.5。
(4)c语言中非空的基本数据类型有扩展阅读
整型家族有九种数据类型:字符型(char), 有符号字符型(signed char),无符号字符型 (unsigned char),短整型( short) ,无符号短整型( unsigned shortv) ,整型( intv) ,无符号整型(unsigned int),长整型( long),无符长整型(unsigned long)。
指针(Pointer)是编程语言中的一个对象,利用地址,它的值直接指向(points to)存在电脑存储器中另一个地方的值。
聚合指对有关的`数据进行内容挑选、分析、归类,最后分析得到人们想要的结果,主要是指任何能够从数组产生标量值的数据转换过程。
E. c语言最基本的非空数据类型
具体类型与编译器有关。
一般说:
1、整形类型:int
,short
int,
long
int,
long
long
int,
char,
bool
2、浮点类型:float
,double,
双精度浮点型(float_complex,double_complex,long
long_comples)
其中非空的包括:
unsigned
int,
int,
unsigned
short
int,short
int,
unsigned
char,
char,
float,
double,
(
以及
bool,
有的用
0
和
1
表示)
F. C语言的三种基本数据类型是什么
C语言的三种基本数据类型为整型,实型,字符型。
1 整型,包括short, int, long等,用以表示一个整数,默认为有符号型,配合unsigned关键字,可以表示为无符号型。
2 实型,即浮点型,包括float, double等,用来表示实数,相对于整型,该类型可以表示带有小数部分的数值。需要注意的是,实型在计算机语言中为近似值表示,并非准确值,在多次计算后可能会出现真值偏差。
3 字符型,即char型,用来表示各种字符,与ascii码表一一对应。除可以用来表示各类字符外,char型的其它规则与整型相同,可以认为char是一种特殊的整型。
G. c语言的基本类型数据有哪几种
1、基本类型。不可再分的最基本的数据类型,包括整型、浮点(单精度)型、双精度型、字符型、无值类型、逻辑型及复数型。基本类型通常代表单个数据。
2、 构造类型。由已知的基本类型通过一定的构造方法构造出来的类型,包括数组、结构体、联合体、枚举类型等。构造类型通常代表一批数据。
3、 指针类型。指针可以指向内存地址,访问效率高,用于构造各种形态的动态或递归数据结构,如链表、树等。
(7)c语言中非空的基本数据类型有扩展阅读:
语言组成
基本构成
1、数据类型
C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
2、常量与变量
常量其值不可改变,符号常量名通常用大写。
变量是以某标识符为名字,其值可以改变的量。标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储单元。
3、数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。它们以ASCII的NULL作为数组的结束。要特别注意的是,方括内的索引值是从0算起的。
4、指针
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而 *(此处特指单目运算符 * ,下同。C语言中另有 双目运算符 *) 则是取内容操作符,意思是取这个内存地址里存储的内容。指针是 C 语言区别于其他同时代高级语言的主要特征之一。
指针不仅可以是变量的地址,还可以是数组、数组元素、函数的地址。通过指针作为形式参数可以在函数的调用过程得到一个以上的返回值,不同于return(z)这样的仅能得到一个返回值。
指针是一把双刃剑,许多操作可以通过指针自然的表达,但是不正确的或者过分的使用指针又会给程序带来大量潜在的错误。
5、字符串
C语言的字符串其实就是以'