fgetc 函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。
A、读或读写
B、追加
C、只写
D、答案 B 和C都正确
【参考答案】错误
A
【学生答案】
D
使用共用体变量,不可以()。
A、同时访问所有成员
B、进行动态管理
C、节省存储空间
D、简化程序设计
【参考答案】正确
A
【学生答案】
A
设有如下定义:struct sk {int a; float b;} data,*p;
若要使p指向data 中的a域,正确的赋值语句是()。
A、p=(struct sk*) data.a;
B、*p=data.a;
C、p=&data.a;
D、p=&data,a;
【参考答案】错误
C
【学生答案】
B
以下程序段执行后输出的结果是( ).
char str[ ]="ABCD",*p=str;
printf("%d\n",*(p+4));
A、字符'D' 的地址
B、0
C、不确定的值
D、68
【参考答案】错误
B
【学生答案】
D
已定义char a[10]; 和char *p=a;, 下面的赋值语句中正确的是( ).
A、p="Turbo c";
B、a="Turbo c";
C、*p="Turbo c";
D、a[10]="Turbo c";
【参考答案】错误
A
【学生答案】
C
设有如下程序,请选择正确答案( ) 。
#include
main()
{int **k,*j,i=100;
j=&i, k=&j;
printf("%d\n",**k);
}
A、运行错误
B、100
C、i 的地址
D、j 的地址
【参考答案】正确
B
【学生答案】
B
以下叙述正确的是()。
A、可以把if 定义为用户标识符, 但不能把define 定义为用户标识符
B、define 和if 都不能定义为用户标识符
C、可以把define 定义为用户标识符, 但不能把if 定义为用户标识符
D、可以把define 和if 定义为用户标识符
【参考答案】正确
C
【学生答案】
C
关于建立函数的目的,以下正确的说法是()。
A、提高程序的可读性
B、减少程序文件所占内存
C、减少程序的篇幅
D、提高程序的执行效率
【参考答案】错误
【学生答案】
C
若使用一维数组名作函数实参,则以下正确的说法是()。
A、实参数组名与形参数组名必须一致
B、必须在主调函数中说明此数组的大小
C、实参数组类型与形参数组类型可以不匹配
D、在被调用函数中, 不需要考虑形参数组的大小
【参考答案】正确
B
【学生答案】
B
下面叙述中错误的是( ) 。
A、在其它函数中定义的变量在主函数中也不能使用
B、主函数中定义的变量在整个程序中都是有效的
C、复合语句中定义的变量只在该复合语句中有效
D、形式参数也是局部变量
【参考答案】错误
B
【学生答案】
A
下列说法中错误的是( ) 。
A、如果在对数组进行初始化时, 给定的数据元素个数比数组元素个数少时, 多余的数组元素会被自动初始化为最后一个给定元素的值
B、一个数组只允许存储同种类型的变量
C、数组的名称其实是数组在内存中的首地址
D、当数组名作为参数被传递给某个函数时, 原数组中的元素的值可能被修改
【参考答案】正确
A
【学生答案】
A
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是()。
A、char t[]="abcdefg",*s=t;
B、char s[10]="abcdefg";
C、char s[10];s="abcdefg";
D、char s[10];strcpy(s,"abcdefg");
【参考答案】错误
C
【学生答案】
已定义char str1,str2[10]; 选择正确的输入语句( ).
A、scanf("%c%s", str1,str2);
B、scanf("%c%s",&str1,&str2);
C、scanf("%c%s", &str1,str2);
D、scanf("%c%s", str1,&str2);
【参考答案】错误
C
【学生答案】
B
若有语句char x[ ]="12345",y[ ]={'1','2','3','4','5'}; 则正确的描述是( ).
A、x数组和y数组的长度相同.
B、x数组的长度小于y数组的长度.
C、x数组等价于y数组.
D、x 数组的长度大于y 数组的长度.
【参考答案】正确
D
【学生答案】
D
下列字符数组长度为5的是( ) 。
A、char d[6]= {'h', 'a', 'b', 'c', '\0' };
B、char c[10]= {'h', 'a', 'b', 'c', 'd'};
C、char b[]= {'h', 'a', 'b', 'c', 'd', '\0'};
D、char a[]={'h', 'a', 'b', 'c', 'd'};
【参考答案】正确
D
【学生答案】
D
若有说明int a[3][4]; 则a数组元素的非法引用是()。
A、a[1][3]
B、a[0][4]
C、a[0][2*1]
D、a[4-2][0]
【参考答案】错误
B
【学生答案】
C
语句while(!E); 中的表达式!E 等价于()。
A、E==1
B、E!=0
C、E!=1
D、E==0
【参考答案】错误
D
【学生答案】
B
在C语言中,为了结束由while 语句构成的循环,while 后一对圆括号中表达式的值应该为()。
A、非0
B、1
C、0
D、True
【参考答案】错误
C
【学生答案】
D
从循环体内某一层跳出, 继续执行循环外的语句是( ) 。
A、continue 语句
B、空语句
C、break 语句
D、return 语句
【参考答案】正确
C
【学生答案】
C
下面程序段运行的结果是( ).
x=-1;
do{
x=x*x;
}while (!x);
A、循环执行一次
B、有语法错误
C、死循环
D、循环执行两次
【参考答案】错误
A
【学生答案】
C
判断char 型变量cl 是否为小写字母的正确表达式是()。
A、('a'>=cl)||('z'<=cl)
B、'a'<=cl<='z'
C、(cl>=a)&&(cl<=z)
D、(cl>='a')&&(cl<='z')
【参考答案】正确
D
【学生答案】
D
若有条件表达式(exp)?a++:b-- ,则以下表达式中能完全等价于表达式(exp) 的是()。
A、(exp==1)
B、(exp!=1)
C、(exp!=0)
D、(exp==0)
【参考答案】错误
C
【学生答案】
D
设a,b,c,f 均为整型变量, 则执行以下程序段后,f 的值为:( ) a=0;b=c=1;
f=--a||++b&&--c;
A、不确定值
B、0
C、2
D、1
【参考答案】错误
D
【学生答案】
A
C语言中,switch 后的括号内表达式的值可以是( ) 。
A、只能为整型和字符型
B、只能为整型
C、任何类型
D、只能为整型, 字符型, 枚举型
【参考答案】错误
C
【学生答案】
D
下列运算符优先级最高的是( ).
A、||
B、!
C、*
D、!=
【参考答案】错误
B
【学生答案】
C
设a,b 和c都是int 型变量, 且a=3,b=4,c=5, 下面表达式中, 值为0的表达式是( ).
A、'a'&&'b'
B、a||b+a&&b-c
C、!((a
D、a<=b
【参考答案】错误
C
【学生答案】
[ 未答此题]
下列程序段的输出结果为()。int x=3,y=2; printf("%d",(x-=y,x*=y+8/5));
A、5
B、3
C、7
D、1
【参考答案】错误
B
【学生答案】
[ 未答此题]
设变量定义为"int a, b;", 执行下列语句时, 输入( ), 则a和b的值都是10. scanf("a=%d, b=%d",&a, &b);
A、a=10, b=10
B、a=10 b=10
C、10, 10
D、10 10
【参考答案】错误
A
【学生答案】
[ 未答此题]
printf("a\rHappi\by"); 在屏幕上正确的输出形式是( ).
A、Happy
B、Happi
C、aHappi
D、aHappy
【参考答案】错误
A
【学生答案】
[ 未答此题]
下列语句中符合C语言语法的语句是:( ).
A、x=y+2=x+y+z;
B、x=7+y,y++,z++;
C、x=(3+b,z)=x+3;
D、x=3+y++=x+3;
【参考答案】错误
B
【学生答案】
[ 未答此题]
若有说明:int a[3][4]; 则数组a中各元素()。
A、不能得到确定的初值
B、可在程序的编译阶段得到初值0
C、可在程序的运行阶段得到初值0
D、可在程序的编译或运行阶段得到初值0
【参考答案】错误
A
【学生答案】
[ 未答此题]
下列四个选项中,均是C语言关键字的选项是()。
A、auto enum include
B、if struct type
C、switch typedef continue
D、signed union scanf
【参考答案】错误
C
【学生答案】
[ 未答此题]
若有说明语句:char c='\72'; 则变量c()。
A、说明不合法,c的值不确定
B、包含2个字符
C、包含3个字符
D、包含 1 个字符
【参考答案】错误
D
【学生答案】
[ 未答此题]
以下选项中合法的用户标识符是( ) 。
A、long
B、3Dmax
C、_2Test
D、A.dat
【参考答案】错误
C
【学生答案】
[ 未答此题]
以下不符合C语言语法的赋值语句是()。
A、a=b=5;
B、y=(a=3,6*5);
C、++j;
D、a=1,b=2
【参考答案】错误
D
【学生答案】
[ 未答此题]
若变量已正确定义且k 的值是4, 计算表达式( j =4, k--) 后,j 和k的值为( ) 。
A、j=3, k=4
B、j=4, k=4
C、j=3, k=3
D、j=4, k=3
【参考答案】错误
D
【学生答案】
[ 未答此题]
若int a=2, 则执行完表达式a-=a+=a*a 后,a 的值是( ) 。
A、-4
B、-8
C、0
D、-2
【参考答案】错误
C
【学生答案】
[ 未答此题]
C语言能正确处理的指数是()。
A、123000000000
B、4.5e-5.6
C、8.5e4288
D、e-32
【参考答案】错误
A
【学生答案】
[ 未答此题]
以下数据中,不正确的数值或字符常量是()。
A、82.5
B、0xff00
C、10
D、8.9e1.2
【参考答案】错误
D
【学生答案】
[ 未答此题]
以下选项中合法的实型常数是()。
A、E-3
B、.2E0
C、1.3E
D、5E2.0
【参考答案】错误
B
【学生答案】
[ 未答此题]
以下叙述中正确的是()。
A、花括号“{“和”} ”只能作为函数体的定界符
B、构成C程序的基本单位是函数, 所有函数名都可以由用户命名
C、分号是C语句之间的分隔符, 不是语句的一部分
D、C程序中注释部分可以出现在程序中任意合适的地方
【参考答案】错误
D
【学生答案】
[ 未答此题]
一个C语言程序是由()。
A、若干过程组成
B、若干子程序组成
C、一个主程序和若干子程序组成
D、函数组成
【参考答案】错误
D
【学生答案】
[ 未答此题]
C语言规定,在一个源程序中,main函数的位置()。
A、必须在系统调用的库函数的后面
B、必须在最后
C、可以任意
D、必须在最开始
【参考答案】错误
C
【学生答案】
[ 未答此题]
C语言源程序文件以( ) 后缀。
A、.c
B、.exe
C、.obj
D、.bas
【参考答案】错误
A
【学生答案】
[ 未答此题]
对auto 存储类型的变量, 若不赋值, 则其值是().
A、' \0 '
B、随机的
C、系统自动赋值0
D、根据情况赋值
【参考答案】错误
B
【学生答案】
[ 未答此题]
下面说法不正确的是:____
A、a为真,!a 为假
B、a为真b为假, 则a||b+1 为真
C、b为假, 则!b+1 为假
D、a 为真 b 为假,!a&&b 为假
【参考答案】错误
C
【学生答案】
[ 未答此题]
以下程序的输出结果是______ .
main() {int a[]={2,4,6,8},*p=a,i;
for(i=0;i<4;i++) a[i]=*p++;
printf("%d\n",a[2]);}
A、6
B、4
C、8
D、2
【参考答案】错误
A
【学生答案】
[ 未答此题]
以下对枚举类型名的定义中正确的是()。
A、enum a{sum=9,mon=-1,tue};
B、enum a={sum,mon,tue};
C、enum a{"sum","mon","tue"};
D、enum a={"sum","mon","tue"};
【参考答案】错误
A
【学生答案】
[ 未答此题]
下面程序运行后, 从键盘上输入ABCD<回车>, 输出结果应该是( ). #include
#include
func(char str[ ])
{ int num=0;
while(*(str+num)!='\0') num++;
return num;
}
main()
{ char str[10],*p=str;
A、7
B、4
C、6
D、5
【参考答案】错误
B
【学生答案】
[ 未答此题]
在位运算中,操作数每右移一位,其结果相当于()。
A、操作数乘以16
B、操作数除以16
C、操作数除以 2
D、操作数乘以 2
【参考答案】错误
C
【学生答案】
[ 未答此题]
C语言的三种基本结构是_____结构、选择结构、循环结构.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
顺序
若a,b 和c 均是int 型变量, 则计算表达式a=(b=4)+(c=2) 后,a 值为_____, b 值为_____,c 值为_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
6
============================================================
【空 2 】错误
【学生答案】
[ 无]
【参考答案】
4
============================================================
【空 3 】错误
【学生答案】
[ 无]
【参考答案】
2
若a 是int 型变量, 则计算表达式a=25/3%3 后a 的值为_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
2
表达式a+=b 相当于表达式_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
a=a+b
a=b+a
下列语句输出的结果是_____,int a=-1;printf("%x",a);( 在vc 环境下) 【空 1 】错误
【学生答案】
[ 无]
【参考答案】
ffffffff
执行下列语句的结果是_____,a=3;printf("%d,",++a);printf("%d",a++);
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
4,4
设x=2&&2||5>1,x 的值为_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
1
已知a=13,b=6, a&&b 的十进制数值为_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
1
以下do-while 语句中循环体的执行次数是_____. a=10; b=0; do { b+=2; a-=2+b; } while (a>=0);
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
3
连接字符串的函数是_____, 只写函数名即可.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
Strcat
定义int a[2][3]; 表示数组 a 中的元素个数是_____个 .
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
6
C语言中, 数组名是一个不可变的_____量, 不能对它进行加减和赋值运算.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
常量
地址常量
地址
函数调用语句func((e1,e2),(e3,e4,e5)) 中含有_____个实参.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
函数的_____调用是一个函数直接或间接地调用它自身
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
递归
若x和n均是int 型变量, 且x 和n 的初值均为5, 则计算表达式x+=n++ 后x 的值为_____,n 的值为_____.
【空 1 】错误
【学生答案】
[ 无]
【参考答案】
10
============================================================
【空 2 】错误
【学生答案】
[ 无]
【参考答案】
6
【程序改错】
--------------------------------------------------------
题目:
--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include
/**********ERROR**********/
#include (math.h)
main()
{
int a,b;
float c;
a=3;b=4;
c=sqrt(a*a+b*b);
/**********ERROR**********/
printf("c=%d\n",c);
【改错1】错误
【学生答案】
#include (math.h)
【参考答案】
#include
#include "math.h"
============================================================
【改错2】错误
【学生答案】
printf("c=%d\n",c);
【参考答案】
printf("c=%f\n",c);
【程序改错】
--------------------------------------------------------
题目:改正以下程序的函数体中不正确的语句。
--------------------------------------------------------
注意:不可以增加或删除程序行,也不可以更改程序的结构。
------------------------------------------------------*/
#include "stdio.h"
main()
{
int i=8,a,b;
unsigned long w=5;
double x=1.42,y=5.3;
x=x/(-3);
/**********ERROR**********/
y=float(i);
/**********ERROR**********/
y=y+x
a+=a-=(b=4)*(a=3);
}
【改错1】错误
【学生答案】
y=float(i);
【参考答案】
y=(float)i;
y=i;
============================================================
【改错2】错误
【学生答案】
y=y+x
【参考答案】
y=y+x;
【程序改错】
--------------------------------------------------------
功能:编写函数fun 生成一个对角线元素为5,上三角元素为0,下三角元素为1的3*3 的二维数组。
------------------------------------------------------*/
#include "stdio.h"
void fun(int arr[][3])
{
/**********ERROR**********/
int i,j
/**********ERROR**********/
for(i=1;i<3;i++)
for(j=0;j<3;j++)
/**********ERROR**********/
if(i=j)
arr[i][j]=5;
else if(j>i)
arr[i][j]=0;
else
arr[i][j]=1;
}
main()
{
int a[3][3],i,j;
fun(a);
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",a[i][j]);
printf("\n");
}
}
【改错1】错误
【学生答案】
int i,j
【参考答案】
int i,j;
============================================================
【改错2】错误
【学生答案】
for(i=1;i<3;i++)
【参考答案】
for(i=0;i<3;i++)
============================================================
【改错3】错误
【学生答案】
if(i=j)
【参考答案】
if(i==j)
下面程序将文件中的数据读到变量s中,将其按从小到大排序后回存到原文件中,请填空。#include
main()
{ FILE *fp; int i, j;
int s[10],ch;
if((fp=fopen("letter.dat","_____"))!=NULL)
{
for(i=0;i<10;i++) fscanf(fp,"%d",&s[i]);
/***********FILL***********/
_____
【空 1 】错误
【学生答案】
_____
【参考答案】
r
============================================================
【空 2 】错误
【学生答案】
【参考答案】
w
/*-------------------------------------------------------
【程序填空】
---------------------------------------------------------
功能:从键盘上输入两个复数的实部与虚部,求出并输出它们的和、差、积、商。
-------------------------------------------------------*/
#include "stdio.h"
main()
{
float a,b,c,d,e,f;
printf(" 输入第一个复数的实部与虚部:");
scanf("%f, %f",&a,&b);
printf(" 输入第二个复数的实部与虚部:");
scanf("%f, %f",&c,&d);
/***********FILL***********/
_____;
f=b+d;
printf(" 相加后复数:实部:%f, 虚部:%f\n",e,f);
e=a*c-b*d;
/***********FILL***********/
_____;
printf(" 相乘后复数:实部:%f, 虚部:%f\n",e,f);
e=(a*c+b*d)/(c*c+d*d);
/***********FILL***********/
_____;
printf(" 相除后复数:实部:%f, 虚部:%f\n",e,f);
精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串
选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a大学c语言考试题库含答案
================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B
能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0;
精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 精选考试类文档,如果需要,请下载,希望能帮助到你们! 2020最新C语言考试题库及答案
姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串
在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。
A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"aC语言考试试题
试题 课程名称C语言程序设计适用时间 试卷类别 A 适用专业、年级、班 一、选择题(每小题2分, 2×25=50分) 1.下列叙述错误的是( )。 A) C程序中的每条语句都用一个分号作为结束符B) C程序中的每条命令都用一个分号作为结束符 C) C程序中的变量必须先定义,后使用 D) C语言以小写字母作为基本书写形式,并且C语言要区分字母的大小写 2.以下叙述不正确的是( )。 A) 一个C源程序必须包含一个main函数B) 一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 3.C语言中最简单的数据类型包括( )。 A)整型、实型、逻辑型B)整型、实型、字符型 C)整型、字符型、逻辑型D)字符型、实型、逻辑型 4.C语言中运算对象必须是整型的运算符是( )。 A)%= B)/ C)= D)<= 5.若变量a,i已正确定义,且i已正确赋值,合法的语句是( )。 A)a= =1 B)++i;C)a=a++=5;D)a=int(i); 6.下列运算符中优先级最高的是( )。 A) < B) + C) && D) ! = 7.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型是( )。 A) int B) float C) double D) char 8.设x和y均为int型变量,则语句:x+=y;y=x-y;x-=y;的功能是( )。 A)把x和y按从大到小排列B)把x和y按从小到大排列C)无确定结果D)交换x和y中的值 9.设整型变量a,b的值均为8, printf("%d,%d",(a++,++b),b--);的输出是( )。 A)8,8 B)8,7 C)9,9 D)8,9 10.若有语句scanf("%d%d",&a,&b);要使变量a,b分别得到10和20,正确的输入形式为( )。 A)10 20 B)10,20 C)1020 D)10:20 11.判断char型变量ch是否为大写字母的正确表达式是( )。 A)'A'<=CH<='Z' B) (CH>='A')& (CH<='Z') C)(CH>='A')&& (CH<='Z') D) ('A'<=ch)AND('Z'>=ch) 12.有如下程序 main( ) { int x=1,a=0,b=0; switch(x) { case 0: b++; case 1: a++; case 2: a++;b++; } printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是( )。 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2 13.以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下: main( ) { int n,k; float score,sum,ave; sum=0.0; for(n=1;n<=10;n++) { for(k=1;k<=4;k++) { scanf("%f",&score); sum+=score; } ave=sum/4.0; printf("NO%d:%f\n",n,ave); } } 上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A) sum=0.0; B) sum+=score; C) ave=sun/4.0; D) printf("NO%d:%f\n",n,ave);
高三11月份月考C语言考试题 一、选择题:(30分) 1.在每一个C程序中都必须包含一个名为()的函数. A.main B. MAIN C. name D. function 2.以下叙述正确的是(). A.C程序中注释部分可以出现在程序中任意合适的地方 B.花括号{和}只能作为函数体的定界符 C.构成C程序的基本单位是函数, 所有函数名都可以由用户命名 D.分号是C语句之间的分隔符, 不是语句的一部分 3.若有定义int a; 变量a占用内存的2个字节, 则a所能存储数据的最 小值是(). A.0 B. -32767 C. -32768 D. -65535 4.在下列4组八进制和十六进制数中, 全部正确的是(). A.123 089 0x23af 0xbd B. 0a21 056 0xabc 0x789 C.010 052 0xdfa 0xff14 D. 0x123 0283 0xabc 0x25f 5. 设有定义”int x=8,y,z;”执行”y=z=x++; x=y==z;”后,变量x的值是() A. 0 B. 1 C. 8 D. 9 6. 能正确表示关系3
一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,
一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include
一、选择题 以下表达式中非法的是_______ A. 0<=x<=10 B. i=j==0 C. (char)(65+3) D. x+1=x+1 设有int x=10,y=10; 表达式x&&x-y || x+y 的结果为_______ A.20 B. 10 C. 0 D. 1 若有int x=3;执行语句if(x) x=x+3;else x=x-3; 后,变量x的值为_____ A. 3 B. 6 C. 0 D. 该语句有语法错误 若有定义int x=3; 执行语句while(x>=0) x-- ; 后,变量x的值为_______ A. 3 B. 0 C. -1 D. 2 若有定义int x=3若有定义char st[20]= "abc\ndef"; 则函数strlen(st)的值为_______ A.20 B.8 C.9 D.7; 在函数调用语句fun((x1,x2),(x3,x4,x5))中的实参的个数是_______ A. 1 B. 2 C.3 D. 4 数组初始化为:int a[10]={1,3,5,7}; 则数组元素a[4]的值为_______ A. 0 B. 7 C. 不确定 D. 1 若有定义int x,*p; 能为变量p正确赋值的表达式为________ A. p=x B. p=*x C. p=&x D. *p=x 若有定义struct sk{int a;float b}data; int *p;若要使p指向data中的成员a,正确 的赋值语句为_______________ A.p=&a; B.p=data.a; C.p=&data.a; D.*p=data.a C语言程序语句的分割符,也就是一条语句的结束符是( )。 A.逗号 B.句号 C.分号 D.括号 字符型变量输入、输出的格式是( )。 A.%d b.%f C.%c d.%s 下面求梯形面积的C语句中变量a,b,h,s是float型,不正确的是( )。 a.s=1/2*(a+b)*h B.s=1.0/2*(a+b)*h C.s=1/2.0*(a+b)*h D.s=(a+b)*h/2 While和do/while二种循环语句可能的最少的循环次数分别是( )。 A.0次和0次 B.0次和1次 C.1次和0次 D.1次和1次 说明char a[10]中定义了( )。 A.a[1]至a[10]共10个变量 B.a[1]至a[9]共9个变量 C.a[0]至a[10]共11个变量 D.a[0]至a[9]共10个变量
** 课程代码:A100002座位号: 《计算机技术基础(C语言)》试卷A 姓名: 学号: 专业: 学院: 班级: 20 年月日 第一部分选择题(共 30 分) 一、单项选择题(本大题共 15 小题,每题只有一个 正确答案,答对一题得 2 分,共 30 分) 1、以下关于C语言标识符的描述中,正确的是【】。A)标识符可以由汉字组成B)标识符只能以字母开头 C)关键字可以作为用户标识符D)Area与area是不同的标识符2、使下列程序段输出“123,456,78”,键盘输入数据,正确的输入是【】。 int i,j,k; scanf(“%d,%3d%d”,&i,&j,&k); printf(“%d,%d,%d\n”,i,j,k); A)12345678 B)123,456,78 C)123,45678 D)123,*45678 3、判断char类型的变量c1是否为数字字符的正确表达式为【】。 A) (c1>=0)&&(c1<=9) B) (c1>=’0’)&&(c1<=’9’) C) ’0’<=c1<=’9’ D) (c1>=’0’)||(c1<=’9’) 4、若有语句int a=1,b=2,c=3;则以下值为0的表达式是【】。A)’a’&&’b’ B)a<=b C)((a>b)||(b 【】 A. *(a[0]+2) B. a[1][3] C . a[1][0] D. *(*(a+1)+2) 6、在循环语句的循环体中执行break语句,其作用是【】。A)跳出该循环体,提前结束循环 B)继续执行break语句之后的循环体各语句 C)结束本次循环,进行下次循环 D)终止程序运行 7、执行语句for(i=10;i>0;i--);后,变量i的值为【】。A)10 B)9 C)0 D)1 8、若有int *p1, *p2,k; 不正确的语句是【】 A. p1=&k B. p2=p1 C. *p1=k+12 D. k=p1+p2 9、在函数中未指定存储类别的局部变量,其隐含的存储类别是【】 A. 静态(static) B. 外部(extern) C. 自动(auto)D. 寄存器(register) 10、如下程序的输出结果是【】 main( ) { int x=2,a=0,b=0; switch(x) { case 2: a++; b++; case 1: ++a; b--; break; case 0: b++;} printf("a=%d, b=%d\n", a, b);} A. a=2, b=0 B. a=2, b=1 C. a=1, b=1 D. a=1, b=0 11、表示关系a main() {int x; scanf(“%d”,&x); if(x<=3) ; else if(x !=10)printf(“%d\n”,x); } 计算机技术基础试题第2页(共11页) 一、单项选择题:(10分,每题2分) 1. char*p[10]; 该语句声明了一个:。 A) 指向含有10个元素的一维字符型数组的指针变量p B) 指向长度不超过10的字符串的指针变量p C) 有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2 .若intx;且有下面的程序片断,则输出结果为:。 for(x=3;x<6;x++) { prin tf((x%2)"##%d":"**%d\n" ,x); } A) ##3 B)**3 C) **3 D)##3**4 **4##4##4**5 ##5 ##5**5 3 .在while (!x )语句中的!x与下面条件表达式等价的是:。 A)x!=0B)x==1 C)x!=1 D)x==0 4 .已知 structpoi nt { intx; inty; }; structrect { structpoi ntpt1; structpoi ntpt2; }; structrectrt; structrect*rp 二&rt; 则下面哪一种引用是不正确的__________ 。 A) r t.pt1.xB) (*rp).pt1.xC) rp->pt1.x D)rt->pt1.x 5 .若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为:。 A)*(a+j* n+i)B)*(a+i* n+j) C)*(*(a+i)+j) D)*(*a+i) +j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1 . #include 〖第1题〗『填空』(1分) 已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是【1】. 答案: 1). 4 〖第2题〗『填空』(1分) 为了避免嵌套条件语句的二义性,C++语言规定else 与其前面最近的【1】语句配对. 答案: 1). if 〖第3题〗『填空』(1分) 若所用变量都已正确定义,请填写以下程序段的输出结果【1】. for(i=1;i<=5;i++); cout<<"OK"< 答案: 1). close 〖第10题〗『填空』(1分) 当一个函数无返回值时,函数的类型应定义为【1】 答案: 1). void 〖第11题〗『填空』(1分) 在C++程序中使用文件前打开文件,打开文件的函数名是【1】. 答案: 1). open 〖第12题〗『填空』(1分) 设x=2.5,a=7,y=4.7,算术表达式 x+a%3*(int)(x+y)%2/4的值为【1】. 答案: 1). 2.5 〖第13题〗『填空』(1分) 执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】] (在括号内填写下标值)中. 答案: 1). 6 〖第14题〗『填空』(1分) 执行下列语句后,b 的十进制值是【1】. int x=240,y=15,b; char z='A'; b=(( x && y ) && ( z < 'a' )); 答案: 1). 1 〖第15题〗『填空』(1分) cin.get()函数只能接收一个【1】. 答案: 1). 字符 〖第16题〗『填空』(1分) int x=2,y=3,z=4; 则表达式x+y>!z的值为【1】. 答案: 1). 1 〖第17题〗『填空』(1分) int x=y=z=2;x=y==z; 则x的值为【1】. 答案: 1). 1 〖第18题〗『填空』(1分) C++语言程序的三种基本结构是:顺序结构,选择结构,【1】结构. 答案: 1). 循环 大学C语言考试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a 7、C 语言程序的基本单位是 A) 程序行B) 语句 8 、设int a=12, 则执行完语句a+=a-=a*a 后,a 的值是 ___ D ___ A) 552 B) 264 C) 144 D) -264 9 、执行下面程序中的输出语句后,输出结果是 ___ B__. #include c语言考试题(一) 一、单项选择题(每题2分,共20分) 1、以下选项中属于C语言的数据类型是() A.复数型B.逻辑型C.集合型D.双精度型 2、一个C程序的执行是从() A.main()函数开始,直到main()函数结束B.第一个函数开始,直到最后一个函数结束 C.第一个语句开始,直到最后一个语句结束D.main()函数开始,直到最后一个函数结束 3、设有语句int a=3;则执行语句a+=a-=a*a;后,变量a的值是()A.3 B.0C.-12D.9 4、若有char c[5]={'c','d','\0','e','\0'};则执行语句printf("%s",c);结果是( )。 A.cd\0e B.'c''d' C.cd D.cd e 5、已知:int a[2][3]={1,2,3,4,5,6}, (*p)[3]=a;则下列表达式不是4的是( )。 A.*(*p+3) B.*p+3 C.*(*(p+0)+3) D.a[0][3] 6、以下有宏替换不正确的叙述( ). A.宏替换不占用运行时间B.宏名无类型 C.宏替换只是字符串替换D.宏名必须用大写字母表示 7、执行char str[10]=”Ch\nina”; strlen(str)的值是()A.5 B.6 C.7 D.9 8、下面程序的输出结果是:() #define POWER(x) (x*x) main() {int i=4; printf("%d",POWER(i-2)); } A. -9 B. -7 C. 5 D. -6 9、在定义int a[3][4][2];后,第10个元素是() A.a[2][1][2] B.a[1][0][1] C.a[2][0][1] D.a[2][2][1] 10、下面程序的输出结果是:() typedef struct {long x[2]; short y[4]; char z[8]; }MYTYPE; MYTYPE a; main() { printf("%d\n",sizeof(a));} A. 2 B. 8 C. 14 D. 24 二、填空题(每空1分,共11分) 1、字符串"A"在内存中占用的字节数为。 2、C语言中的标识符只能由字母、下划线和组成。 fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。 A、读或读写 B、追加 C、只写 D、答案B和C都正确 【参考答案】错误 A 【学生答案】 、 D 使用共用体变量,不可以()。 A、同时访问所有成员 B、进行动态管理 C、节省存储空间 D、简化程序设计 【参考答案】正确 A 【学生答案】 % A 设有如下定义:struct sk {int a; float b;} data,*p; 若要使p指向data中的a域,正确的赋值语句是()。 A、p=(struct sk*) ; B、*p=; C、p=&; D、p=&data,a; 【参考答案】错误 C \ 【学生答案】 B 以下程序段执行后输出的结果是( ). char str[ ]="ABCD",*p=str; printf("%d\n",*(p+4)); A、字符'D'的地址 B、0 C、不确定的值 D、68 【参考答案】错误 ^ B 【学生答案】 D 已定义char a[10];和char *p=a;,下面的赋值语句中正确的是( ). A、p="Turbo c"; B、a="Turbo c"; C、*p="Turbo c"; > D、a[10]="Turbo c"; 【参考答案】错误 A 【学生答案】 C 设有如下程序,请选择正确答案( )。 #include <> main() {int **k,*j,i=100; 》 j=&i, k=&j; printf("%d\n",**k); } A、运行错误 B、100 C、i的地址 D、j的地址 【参考答案】正确 B / 【学生答案】 B 以下叙述正确的是()。 A、可以把if定义为用户标识符,但不能把define定义为用户标识符 B、define和if都不能定义为用户标识符 C、可以把define定义为用户标识符,但不能把if定义为用户标识符 D、可以把define和if定义为用户标识符 【参考答案】正确 C ? 笔试题 一、填空题(每个空4分,共28分) 1)struct tagABC { char name[10]; char sex; long sno; float score[4]; }*pAbc;(四字节对齐) pAbc=NULL; 那么,执行pAbc+=2;之后pAbc的值为(64 ) 2)如下代码,最终value的值是(8) int *p1,*p2; int value; p1=(int*)0×400; p2=(int*)0×408; value = p2-p1; 3)如下代码,printf的结果为(2) #include〈stdio.h〉 #include〈string.h〉 void main(void) { char acNew[20]= “\\0\0”; printf(“%d\n”,strlen(acNew)); } 4) 有如下程序段,运行该程序的输出结果是(33) main () { int y=3,x=3,z=1; printf(“%d%d\n”,(++x,y++),z+2); } 5)设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后,n的值为(2)6)struct tagAAA { Unsigned char ucId:1; Unsigned char ucPara0:2; Unsigned char ucState:6; Unsigned char ucTail:4; Unsigned char ucAvail; Unsigned char unTail2:4; Unsigned long ulData; }AAA_S 问:AAA_S在字节对齐分别为1,4情况下,占用的空间大小分别是多少?( 9)(12 ) 二、选择题(每题2分,共34分) 1)若有说明int(*p)[3];以下叙述正确的是( D ) A:p是指针数组 B:(*p)[3]和*p[3]等价 C:p是指向一维数组中任何一个元素的指针 D:p是指向含有3个整型元素的一维数组的指针 2)以下关于单元测试的描述,哪些是对的?(D) A:黑盒测试针对软件的功能,不考虑功能的实现细节; B:白盒测试针对源代码的测试,从程序功能的具体实现上找错; C:路径覆盖是黑盒测试的一种方法,编写测试用例使程序的每条语句都能走到; D:条件覆盖是百盒测试的一种方法, 编写测试用例使程序的每个判断的各种情况都能到3)以下可以用于任务间通信的有(ABCD) A:共享内存 B:信号量 C:消息队列和管道 D:socket调用 4)有关结构,以下哪些描述是对的?(BC) A:为了测试方便,尽量把一个结构的功能设计得多一些 B:不同结构间的关系不要过于复杂 C:结构中的各元素应代表同一事务的不同侧面,而不应把描述没有关系或关系很弱的不同事务的元素放到同一结构中 D:结构中元素的布局与排列顺序可以随意设计 5)关于强制类型转化,下面说法正确的是(ABCD) A:当目的结构的空间大于源结构的空间时,要重点关注内存访问超过源结构范围的情形,可能越界; B:当目的结构的空间小于源结构的空间时,要重点关注对目的结构赋值不能完全覆盖源结构范围的情形,可能遗漏; C:结构体之间的强制类型转换时,其成员字段的数据类型的差异也是要格外小心的; D:与结构体之间的强制类型转换相比,基本数据结构的强制类型转换更容易出现上面描述的情况,使用的时候,一定要慎之又慎; 6)正确的使用assert,软件系统不会对人为原因造成的错误进行处理。它有利于(A BCD) A:缺陷及早暴露,加快定位进程; B:明确表示函数接口或算法逻辑的校验关系,增强软件代码的可读性; C:去除不必要的容错处理,简化代码处理流程,降低软件处理复杂度; D:强化编程接口之间的契约,增强软件的可维护性; 7)对于循环体的执行效率,下述说法正确的是(ABCD ) A:循环体内工作量最小化 B:在多重循环中,应将最忙的循环放在最内层 C:尽量减少循环的嵌套层次 D:避免在循环体内做无谓的判断语句,将循环语句置于判读语句的代码块之中 8)设数组a[5]={10,20,30,40,50};已知指针p指向a[1];则表达式*++p的值是(A)C语言考试题及答案
C语言考试题
大学C语言考试题及答案
C语言考试题库及答案
C语言考试试题
c语言考试题
c语言笔试题(答案)