c语言试卷第四套

c语言试卷第四套
c语言试卷第四套

若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=i+32)后,x的值为:(D).

A.52

B.16

C.4

D.36

整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)。

A.x=y*4/2

B.x=9-(--y)-(--y)

C.x=(x=1+2,x*2)

D.x=y<2?6:5

以下程序的输出结果为(A)。

main()

{int i=010,j=10;

printf("%d,%d\n",++i,j--);

}

A.9,10

B.10,9

C.010,9

D.11,10

如下说法不正确的是(D).

A.若b为假a为真,则 a||b为真

B.若b为真a为假,则 a||b为真

C.若b为真a为真,则 b&&!a为假

D.若b为假,则!b+1为假

下列(C)表达式的值为真,其中a=5;b=8;c=10;d=0

A.(a*2-c)||d

B.a*2>8+2

C.a-b

D.a&&d

以下能计算1×2×3×┈×10的程序段是(C).

A.do{ i=1;s=1;s=s*i;i++;}while(i>=10) ;

B.do{ i=1;s=1;s=s*i;i++;}while(i<=10) ;

C.i=1;s=1;do {s=s*i; i++; }while(i<=10) ;

D.i=1;s=1; do { s=s*i; i++;}while(i>=10) ;

以下正确的描述是(A).

A.continue语句用来终止本次循环,继续下一次循环。

B.switch语句中不能出现continue语句

C.在循环中break语句不能独立出现

D.goto语句只能用于退出多层循环

下面各语句中,能正确进行赋字符串操作的语句是(B).

A.char s1[5][ ]={"ABCDE"};

B.char s2[6]={'A','B','C','D','E'};

C.char st[ ][ ]={"ABCDE"};

D.char s[5]={'A','B','C','D','E'};

下述对C语言字符数组的描述中,错误的是(C).

A.不可以用关系运算符对字符数组中的字符串进行比较.

B.字符数组中的字符串可以整体输入、输出.

C.可以通过赋值运算符"="对字符数组整体赋值.

D.字符数组中可以存放字符串.

若有说明 int a[3][4];则对a数组元素的正确引用是(C)。

A.a[1,3]

B.a[2][4]

C.a[1+1][0]

D.a(2)(1)

程序运行结束后,屏幕上输出值为(B).

static int x=10;

f( )

{ x++;

}

main( )

{ int x=3;

f( );

x- -;

printf("%d",x);

}

A.10

B.2

C.11

D.3

C语言规定,函数返回值的类型是由(A)。

A.在定义该函数时所指定的函数类型所决定

B.return语句中的表达式类型所决定

C.调用该函数时系统临时决定

D.调用该函数时的主调函数类型所决定

若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数(B)。

A.没有返回值

B.返回一个不确定的值

C.返回若干个系统默认值

D.能返回一个用户所希望的值

设有宏定义#define PI 3.14 和#define S(r) PI*r*r,则S(2)的值为(B).

A.6.28

B.12.56

C.3.14

D.9.42

下面选择中正确的赋值语句是(设char a[5],*p=a;)(A)。

A.p="abcd";

B.a="abcd";

C.*a="abcd";

D.*p="abcd";

static struct {int a1;float a2;char a3;}a[10]={1,3.5,'A'}; 说明数组a是地址常量,它有10个结构体型的下标变量,采用静态存

储方式,其中被初始化的下标变量是(A)。

A.a[0]

B.a[10]

C.a[1]

D.a[-1]

在C程序中,可以一次写入一组数据到指定文件中的函数是(C)。

A.fprintf

B.fread

C.fwrite

D.fputc

整型变量在可输出字符范围内,可以和字符型数据相互转化. T

putchar 函数的原型(函数说明)在 stdio.h 内. T

设i=1,j=2,k=3,则逻辑表达式!(i>j)||!k&&1的值为0. F

已知三目运算exp1?exp2:exp3的含义是先求exp1,若为0,则求解exp2,则表达式值为exp2的值,否则是exp3的值. F

对于for(表达式1;表达式2;表达式3)语句来说,continue语句意味着转去执行表达式2. F

for循环可以用于循环次数不确定而给出循环条件的情况下. T

设有数组定义: char array[ ]="hello"; 则数组 array所占的内存空间为5字节. F

数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素. T

puts 函数用来输出一个字符. F

在一个函数中定义的静态局部变量不能被另外一个函数所调用. T

C语言中,只允许直接递归调用而不允许间接递归调用. F

数组名可作为函数的实参,但不能作为函数的形参. F

计算机编译系统对宏定义在编译时进行语法检查. F

定义 int k[ ]={1,2,3,4},y,*p=&k[1];,则执行y=(*--p)++后, y的值不是2. T

在定义结构体变量时,允许使用初始化方法对其整体赋初值. T

C语言中,在打开文件时,必须说明文件的使用方式,"w"用于文件的读写. F

若x和n均是int型变量,且x和n的初值均为5,则计算表达式 x+=n++ 后x的值为 __10___,n 的值为__6___.

设(k=a=5,b=3,a*b),则表达式的值为__15___.

若int x=6;则x+=x-=x*x表达式最后x的值是__-60___.

设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是__1___.

C语言中,数组元素的下标下限为__0___.

局部静态变量是在静态存储区分配存储单元的,在整个程序运行期间始终占__内存___的.

设有以下共用体类型说明和变量定义,在TC编译环境下,变量d在内存所占字节数是 __12___。union stud

{ short int num;

char name[8];

float score[3];

double ave;

}d,stu[3];

feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为__非零值___。

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:将主函数中输入的字符串反序存放。

例如:输入字符串"abcdefg",则应输出"gfedcba"。

------------------------------------------------*/

#include "stdio.h"

#include "string.h"

#include "conio.h"

#define N 81

void fun(char *str,int n)

{

/*********Begin**********/

/********** End **********/

}

【参考代码】

int i,j;

char c;

for(i=0,j=n-1;i

*(str+i)=*(str+j);

*(str+j)=c;}

/*------------------------------------------------

【程序设计】

--------------------------------------------------

功能:从低位开始取出长整型变量s中偶数位上的数,依次

构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:642。

------------------------------------------------*/

#include "stdio.h"

long fun (long s)

{

/*********Begin**********/

/********** End **********/

}

【参考代码】

long sl=10,t;

s /= 10;

t = s % 10;

while(s > 0)

{ s = s/100;

t = s%10*sl + t;

sl = sl * 10;

}

return t;;

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

功能:实现两个字符串的连接。

例如:输入dfdfqe和12345时,则输出dfdfqe12345.

------------------------------------------------------*/

#include"stdio.h"

main()

{

char s1[80],s2[80];

void scat(char s1[],char s2[]);

gets(s1);

gets(s2);

scat(s1,s2);

puts(s1);

}

void scat (char s1[],char s2[])

{

int i=0,j=0;

/**********ERROR**********/

while(s1[i]=='\0') i++;

/**********ERROR**********/

while(s2[j]=='\0')

{

/**********ERROR**********/

s2[j]=s1[i];

i++;

j++;

/**********ERROR**********/

s2[j]='\0';

}

【改错1】

【参考答案】

while(s1[i]!='\0')i++;

while(s1[i])i++;

while(s1[i]!=NULL)i++;

while(s1[i]!=0)i++;

【改错2】

【参考答案】

while(s2[j]!='\0')

while(s2[j])

while(s2[j]!=NULL)

while(s2[j]!=0)

【改错3】

【参考答案】

s1[i]=s2[j];

【改错4】

【参考答案】

s1[i]='\0';

s1[i]=NULL;

*(s1+i)='\0';

s1[i]=0;

/*------------------------------------------------------ 【程序改错】

--------------------------------------------------------

题目:输出某学生出生的月份。

--------------------------------------------------------

注意:不可以增加或删除程序行,也不可以更改程序的结构。

------------------------------------------------------*/

#include "stdio.h"

main()

{

struct student

{

int year;

int month;

int day;

} birth;

/**********ERROR**********/

scanf("%d%d%d",&year.birth,&month.birth,&day.birth);

/**********ERROR**********/

printf("mon=%f\n",month.birth);

}

【改错1】

【参考答案】

scanf("%d%d%d",&birth.year,&birth.month,&birth.day);

【改错2】

【参考答案】

printf("mon=%d\n",birth.month);

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:在任意的字符串a中将与字符c相等的所有元素的下

标值分别存放在整型数组b中。

-------------------------------------------------------*/

#include

int main( )

{

char a[80];

int i,b[80],k=0;

gets(a);

for(i=0;a[i]!='\0';i++)

/***********FILL***********/

if(________)

/***********FILL***********/

{b[k]=i; _________;}

for(i=0;i

return 0;

}

【空 1 】

【参考答案】

a[i]=='c'

【空 2 】

【参考答案】

k++

k=k+1

k+=1

/*------------------------------------------------------- 【程序填空】

---------------------------------------------------------

功能:计算矩阵a的下三角(包含主对角线)元素之和,矩阵的行、列数和元素值均由键盘输入。

-------------------------------------------------------*/ #define M 20

#include "stdio.h"

int main()

{

int i,j,n,a[M][M];

int s=0;

scanf("%d",&n);

for(i=0;i

/***********FILL***********/

for(_________)

scanf("%d",&a[i][j]);

for(i=0;i

/***********FILL***********/

for(j=0;__________;j++)

/***********FILL***********/

s=________;

printf("%d\n",s);

return 0;

}

【空 1 】

【参考答案】

j=0;j

j=0;j

【空 2 】

【参考答案】

j<=i

i>=j

【空 3 】

【参考答案】

s+a[i][j]

a[i][j]+s

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (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); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

c语言试卷第二套

以下叙述中正确的是(D)。 A.C语言中的函数不可以单独进行编译 B.C语言的源程序不必通过编译就可以直接运行 C.C源程序经编译形成的二进制代码可以直接运行 D.C语言中的每条可执行语句最终都将被转换成二进制的机器指令 若有说明语句:char c='\72';则变量c(D)。 A.说明不合法,c的值不确定 B.包含2个字符 C.包含3个字符 D.包含1个字符 定义字符变量c1的值是'A',c2的值是'D'. 执行语句printf("%d,%d",c1,c2-2);后,输出结果是(A)。 A.65,66 B.65,68 C.A,68 D.A,B 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数时,表达式的值为"假",则以下不能满足要求的表达式是(D)。 A.A%2==1 B.A%2 C.!(A%2==0) D.!(A%2) 为了避免在嵌套的条件语句 if-else 中产生二义性,C语言规定: else子句总是与(A)配对。 A.其之前最近的if B.其之后最近的if C.同一行上的if D.缩排位置相同的if 下面程序段运行的结果是(A). x=-1; do{ x=x*x; }while (!x); A.循环执行一次 B.有语法错误 C.死循环 D.循环执行两次 以下正确的描述是(A). A.只能在循环体内和switch语句内使用break语句 B.continue语句的作用是终止整个循环的执行 C.从多层嵌套的外层循环中退出时,只能使用goto语句

D.在循环体内使用break和continue语句的作用相同 以下不能正确定义二维数组的选项是(A)。 A.int a[2][]={{1,2},{3,4}}; B.int a[2][2]={{1},2,3}; C.int a[2][2]={{1},{2}}; D.int a[][2]={1,2,3,4}; char a[10];不能将字符串"abc"存储在数组中的是(B)。 A.int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0; B.a="abc"; C.strcpy(a,"abc"); D.a[0]=0;strcat(a,"abc"); 在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。 A.整型常量 B.整型常量或整型表达式 C.整型表达式 D.任何类型的表达式 在定义全局变量和局部静态变量的同时赋值,变量的初始化在(C)时确定的. A.运行 B.编辑 C.编译 D.调试 以下不正确的说法是:C语言规定(C)。 A.实参可以是常量,变量或表达式 B.实参可以为任何类型 C.形参可以是常量,变量或表达式 D.形参应与其对应的实参类型一致 C语言程序中必须有的函数是(B)。 A.#include "stdio.h" B.main C.printf D.scanf 在"文件包含"的预处理中,被包含的文件应是(A). A.文本文件 B.可执行文件 C.目标文件 D.二进制文件 若有说明:int *p,m=5,n;以下正确的程序段是(D)。 A.scanf("%d",&n);*p=n; B.p=&n;scanf("%d",*p)

语言试卷第四套

若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=i+32)后,x的值为:(D). 整型变量x=1,y=3,经下列计算后,x的值不等于6的是(D)。 =y*4/2 =9-(--y)-(--y) =(x=1+2,x*2) =y<26:5 以下程序的输出结果为(A)。 main() {int i=010,j=10; printf("%d,%d\n",++i,j--); } ,10 ,9 ,9 ,10 如下说法不正确的是(D). A.若b为假a为真,则 a||b为真 B.若b为真a为假,则 a||b为真 C.若b为真a为真,则 b&&!a为假 D.若b为假,则!b+1为假 下列(C)表达式的值为真,其中a=5;b=8;c=10;d=0 A.(a*2-c)||d *2>8+2 =10) ; { i=1;s=1;s=s*i;i++;}while(i<=10) ; =1;s=1;do {s=s*i; i++; }while(i<=10) ; =1;s=1; do { s=s*i; i++;}while(i>=10) ; 以下正确的描述是(A). 语句用来终止本次循环,继续下一次循环。 语句中不能出现continue语句 C.在循环中break语句不能独立出现 语句只能用于退出多层循环

下面各语句中,能正确进行赋字符串操作的语句是(B). s1[5][ ]={"ABCDE"}; s2[6]={'A','B','C','D','E'}; st[ ][ ]={"ABCDE"}; s[5]={'A','B','C','D','E'}; 下述对C语言字符数组的描述中,错误的是(C). A.不可以用关系运算符对字符数组中的字符串进行比较. B.字符数组中的字符串可以整体输入、输出. C.可以通过赋值运算符"="对字符数组整体赋值. D.字符数组中可以存放字符串. 若有说明 int a[3][4];则对a数组元素的正确引用是(C)。[1,3] [2][4] [1+1][0] (2)(1) 程序运行结束后,屏幕上输出值为(B). static int x=10; f( ) { x++; } main( ) { int x=3; f( ); x- -; printf("%d",x); } C语言规定,函数返回值的类型是由(A)。 A.在定义该函数时所指定的函数类型所决定 语句中的表达式类型所决定 C.调用该函数时系统临时决定 D.调用该函数时的主调函数类型所决定 若调用一个函数,且此函数中没有return语句,则正确的说法是:该函数(B)。 A.没有返回值 B.返回一个不确定的值 C.返回若干个系统默认值 D.能返回一个用户所希望的值

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是( D )。 A. 软件是一种逻辑实体,具有抽象性 B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显着特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于( D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。

C语言程序设计试卷含答案

说明:请将单项选择题(1~50空)的正确答案涂写考试答题卡,将填空(51~75空)等文字题按【】中的序号写入下面文字答题卡,否则不得分。 二、阅读程序题文字答题卡:(每空2分,共24分) 三、完善程序填空题文字答题卡:(每空2分,共26分) 一、单项选择题(每空1分,共50分) 请将正确答案按【】中的序号写入答题卡,否则不得分。 1.在C语言中,一条语句以【】字符作为结束符。

A),B);C).D)无符号2.以下4组标识符中,能作为变量名使用的是【】。 A)age,struct,s1 B)2A,b_3,main C)ELSE,a[2],m123 D)_abc,INT,abcd 3.判断char型变量ch是否为数字字符的正确表达式为【】。 A)0<=ch<=9 B)'0'<=ch<='9' C)(0<=ch)&&(ch<=9)D)('0'<=ch)&&(ch<='9') 4.已知小写字母a的ASCII码值是97,大写字母A的ASCII码值是65,下列语句中不能输出大写字母B的是【】。 A)putchar('A'+1);B)putchar('b'-32); C)putchar(98-32);D)putchar(B); 5.空字符串的长度是【】。 A)0B)1 C)2 D)3 6.整型变量a定义后赋初值的结果是【】。 int a=2.8*6; A)12 B)16C)17 D)18 7.若有以下说明语句,则该语句【】。 char a='\077'; A)使a的值包含1个字符B)使a 的值包含4个字符 C)使a的值包含3个字符D)说明不合法 8.下面的程序结果为:【】。 main() { int x=023; printf("%d\n",--x); } A)17 B)18C)23 D)24 9.源程序执行后,屏幕上显示【】。 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 10.设int x=10;x+=x%=(-6)+4;则x= 【】。 A)0B)16 C)18 D)10 11.C语言的下列运算符中,运算对象必须是整型数据的是【】。

上海理工大学 C语言 第二套试题

注意: 1. 本练习时间为1小时,如有多余时间请完成实验5 2. 请单号的机器完成A 卷测试题,双号机器完成B 卷测试题 3. 以自己学号为文件夹名,并上传1.cpp,2.cpp,3.cpp 3个源代码文件 A 卷测试题目(机器号为单号学生完成) 1. 输入两个值分别为a,b,请输出ab b 42 的值, 程序保存为1.cpp. 2. 编写程序,判断输入的两个小数是否相互等, 程序保存为2.cpp. 3.编写程序, [问题的描述] 百元买百鸡问题。假定小鸡每只5角,公鸡每只2元,母鸡每只3元。现有100元钱要买100只鸡,列出所有可能的购鸡方案。 程序保存为3.cpp. B 卷测试题目(机器号为双号学生完成) 1. 编写程序 [问题的描述] 有2个变量,分别存入2个不同的整数,有人试图将这2个变量中的值互换。 [案例] 原始状态为:x=5 y=6 互换后的状态为:y=6 x=5 程序只允许定义两个变量,程序保存为1.cpp.

2.编写程序,连续输入10个值,请输出输入值的最大值和最小值, 程序保存为2.cpp. 3.[问题的描述] 打印出下图所示的杨辉三角形 两个未知数和的幂次方运算后的系数问题,比如(x+y)的平方=x的平方+2xy+y的平方,这样系数就是1,2,1这就是杨辉三角的其中一行,立方,四次方,运算的结果看看各项的系数,这就是杨辉三角,也叫贾宪三角,2项式乘方展开式的系数规律。如图,在贾宪三角中,第3行的第三个数恰好对应着两数和的平方公式依次类推,杨辉三角是一个由数字排列成的三角形数表,一般形式如下图所示。 [案例] 输出10行的图

C语言》课程期末考试-第四套

第四套期末考试题 第一部分选择题 单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个选项中只有一个选项是符合题目要求的,请将正确选项前的字母填在题后的括内 1. 在计算机上可以直接运行的程序是_____________。 A. 高级语言程序 B.汇编语言程序 C.机器语言程序 D. C语言程序 2. 不属于C语言的是__________。 A. for B. goto C. if D. loop 3. 正确的C语言自定义标识符是__________。 A. num(10) B. file_bak C. continue D. class+2 4. 字符串”m\x43\\\np\102q”的长度是__________。 A. 7 B. 9 C. 15 D. 16 5. 设 int x=8, y, z; 执行y=z=x++; x=y==z后,变量x的值是__________。 A. 0 B. 1 C. 8 D. 9 6. 对于输入语句scanf(“%f,%f”, &a, &b); 要使变量a、b的值分别为1.78和2.48,则正确的输入是__________。 A. 1.78, 2.48 后跟回车 B. 1.78 2.48 后跟回车 C. 1.782.48 后跟回车 D. 1.78;2.48 后跟回车 7. 设int a=8, b=7, c=6, x=1; 执行语句 if(a>6) if(b>7) if(c>8) x=2; else x=3; 后x的值是__________。 A. 0 B. 1 C. 2 D. 3 8. 执行下列程序段 x=9; while(x>7) { printf(“*”); x--; } 后输出的结果是__________。 A. **** B. *** C. ** D. * 9. 定义一个具有10个元素的整数型数组,应当使用语句__________。 A. int a[10]; B. int a[2,5]; C. int a[]; D. int *a[10]; 10. 设char str1[10]=”ABCDE”, str2[10]=”xyz”; 则执行语句printf(“%d”, strlen(strcpy(str1, str2))); 后的输出结果是__________。 A. 9 B. 8 C. 5 D. 3 11. 设int x[]={1,3,5,7,9,11,13}, *p=x; 则不能正确引用数组元素的表达式是__________。 A. *(p--) B. *(--p) C. *(p++) D. *(++p) 12. 设int x[]={1,2,3,4}, y, *p=&x[1]; 则执行语句 y=(*--p)++; 后变量y的值为__________。 A. 1 B. 2 C. 3 D.4 13. 函数调用时,下列说法中不正确的是__________。 A. 若用值传递方式,则形式参数不予分配内存 B. 实际参数和形式参数可以同名 C. 主调函数和被调用函数可以不在同一个文件中

大学C语言考试试题及答案

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学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语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言试卷第2套 含答案

第二套试题 一、判断题 第1题:C语言允许直接访问物理地址。参考答案:对第2题:在标准C语言中,共用体变量中的各成员的首地址是不一样的。参考答案:错第3题:全局变量的作用域一定比局部变量的作用域范围大参考答案:错 第4题:C语言的源程序不必通过编译就可以直接运行参考答案:错 第5题:指针变量与变量的指针都与地址有关参考答案:对 第6题:C语言的函数可以嵌套定义参考答案:错 第7题:局部变量的作用域是当前文件。参考答案:错 第8题:在标准C语言中,宏替换是程序运行时完成的。参考答案:错 第9题:在标准C中,“=”是判断两个数是否相等。参考答案:错 第10题:C语言编译时不检查语法参考答案:错 二、选择题(请选择正确的选项) 第1题:以下程序的输出结果是 main( ) { int n=4; while(n--) printf("%d ",--n); } 参考答案:A A、2 0 B、3 1 C、3 2 1 D、2 1 0 第2题:数组定义为int a[3][2]={1, 2, 3, 4, 5, 6},数组元素_____的值为6。 参考答案:B A、a[3][2] B、a[2][1] C、a[1][2] D、a[2][3] 第3题:字符串指针变量中存入的是 参考答案:A A、字符串的首地址 B、字符串 C、第一个字符 D、字符串变量 第4题:下列表达式的值为0的是() 参考答案:C A、3﹪5 B、3/5.0 C、3/5 D、3<5 第5题:C语言中以追加方式打开一个文件应选择_______________参数参考答案:D A、“r” B、“w” C、“rb” D、“a” 第6题:C语言中while和do-while循环的主要区别是 参考答案:A A、do-while循环体至少无条件执行一次 B、while的循环控制条件比do-while循环控制条件严格 C、do-while循环允许从外部转到循环体内 D、do-while循环体不能是复合语句

c语言程序设计(第四版)考试题

C程序设计(第四版)期末考试题 本卷共有4道大题: 一、单项选择题(20道小题,共20分) 1、以下对C语言函数的有关描述中,正确的是( )(1分) A、在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参 B、C函数既可以嵌套定义又可以递归调用 C、函数必须有返回值,否则不能使用函数 D、C程序中有关调用关系的所有函数必须放在同一个源程序文件中 2、strcpy库函数用于复制一个字符串。若有以下定义:char *str1="copy",str2[10],*str3="hijklmn";char *str4,*str5="abcd";则对strcpy库函数的错误调用是( )(1分) A、strcpy(str2,str1) B、strcpy(str3,str1) C、strcpy(str4,str1) D、strcpy(str5,str1) 3、设有以下语句:char str[4][12]={"aaa","bbb","ccc","ddd"};char *strp[4]; int i;for(i=0;i<4;i++) strp[i]=str[i]; 若0<=k<4,下列选项中对字符串的非法引用是( )(1分) A、strp B、str[k] C、strp[k] D、*strp 4、以下各选项企图说明一种新的类型名,其中正确的是( )(1分) A、typedef v1 int; B、typedef v2=int; C、typedef v1 int v3; D、typedef v4: int; 5、若以下定义和语句:int a[]={1,2,3,4,5,6,7,8,9,0}; int *p,i;p=a;0

C语言试卷及答案

一、选择题(每题 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语言试题及答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

c语言模拟题目第十七套

第十七套 设a=12,且a定义为整型变量。执行语句a+=a-=a*=a;后a的值为()。 A、0 B、144 C、132 D、12 【参考答案】错误 A 【学生答案】 [未答此题] 设变量定义为"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 【学生答案】 [未答此题] 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、a=1,b=1 B、a=1,b=0 C、a=2,b=2 D、a=2,b=1 【参考答案】错误 D 【学生答案】 [未答此题] 执行下列语句后的输出为()。

int j=-1; if(j<=1) printf("****\n"); else printf("%%%%\n"); A、%%%% B、**** C、有错,执行不正确 D、%%%%c 【参考答案】错误 B 【学生答案】 [未答此题] 以下正确的描述是( ). A、只能在循环体内和switch语句内使用break语句 B、continue语句的作用是终止整个循环的执行 C、从多层嵌套的外层循环中退出时,只能使用goto语句 D、在循环体内使用break和continue语句的作用相同 【参考答案】错误 A 【学生答案】 [未答此题] 设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是( ). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 【参考答案】错误 A 【学生答案】 [未答此题] 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 A、将5个初值依次赋给a[6]至a[10] B、将5个初值依次赋给a[0]至a[4] C、因为数组长度与初值的个数不相同,所以此语句不正确 D、将5个初值依次赋给a[1]至a[5] 【参考答案】错误 B

C语言程序设计试卷及答案

C 语言程序设计 笔试试题 题号 一 二 三 四 五 六 笔试(70%) 综 合 (30%) 总分 分数 试卷说明: 1. 笔试卷面总分100分,取卷面成绩的70%计入总分; 2. 综合成绩为平时成绩(10%)和实验成绩(20%)之和,占总分的30%; 3. 答题时禁止拆开试卷钉,试卷背面即为草稿纸; 4. 答题时间120分钟。 一、单项选择题。将正确答案填入下面框中。 (本题16分,每小题1分) 题号 1 2 3 4 5 6 7 8 答案 题号 9 10 11 12 13 14 15 16 答案 1. 有以下程序 main() {int a=1,b=0; if(!a) b++; else if(a==0) if(a) b+=2; else b+=3; printf(“%d\n ”,b); }则程序输出( A )。 A) 0 B) 1 C) 2 D) 3 2. 有以下定义:int a; long b; double x,y;则下列正确的是( A )。 A) a%(int)(x-y) B) a=x!=y C) (a*y)%b D) y=x+y=x 3. 若有定义 int (*p)[3];则下列说法正确的是( C )。 A) 定义了基类型为int 的三个指针变量 B) 定义了一个名为 *pt 、具有三个元素的整型数值 号 学 名 姓 注意行为规范 遵守考试纪律

C) 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组D) 定义了基类型为int的具 有三个元素的整型数组 4. 有以下程序段 main() { int x=10; while(x--); printf("x=%d\n",x);} 则最后的输出结果是:( B)。 A) x=0 B) x= -1 C) x=1 D)while构成无限循环 5. 有以下程序: int fun() {static int x=1; x *= 2; return x;} main( ) { int i,s=1 ; for(i=1 ;i<=2 ;i++) s=fun() ; printf(“%d\n ”,s) ;} 执行后的输出结果为( D)。 A) 0 B) 1 C) 8 D) 4 6. void main( ){ int k=011; printf("%d\n",k++); } }程序输出结果是( D ) A)12 B) 11 C) 10 D) 9 7. 以下C语言标识符中,不合法的是( C)。 A) _2 B) a_b C) a--b D) AaBc 8. C语言允许函数类型默认定义,此时该函数值隐含的类型是( B)。 A) float B) int C) long D) double 9. 以下程序段运行结果是( B)。 enum weekday{aa,bb=2,cc,dd,ee}week=ee; printf(“%d\n“,week); A) 4 B) 5 C) ee D) 0 10. 以下对C语言函数的描述中,不正确的是( B )。 A) 不同函数中可以使用相同名字变量B) 函数可以嵌套定义 C) 函数可以没有返回值D) 程序由函数组成 11. 若有定义语句:double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;则错误引用x数组元素的是( D )。 A) *p B) *x C) *(p+1) D) x[5]

c语言模拟题目第二十套

第二十套 下列程序段的输出结果为()。 float x=213.82631; printf("%3d",(int)x); A、213.82 B、213.83 C、213 D、3.8 【参考答案】错误 C 【学生答案】 [未答此题] a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。 A、a/b*b+a%b==a B、a/b*b==a C、a*b/a*b==1 D、a/b*b/a==1 【参考答案】错误 A 【学生答案】 [未答此题] int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()。 A、3 B、2 C、1 D、不一定 【参考答案】错误 C 【学生答案】 [未答此题] C语言的switch语句中case后( )。 A、可为任何量或表达式 B、可为常量或表达式或有确定值的变量及表达式 C、只能为常量或常量表达式 D、只能为常量 【参考答案】错误 C 【学生答案】 [未答此题]

设j和k都是int类型,则下面的for循环语句( )。 for(j=0,k=0;j<=9&&k!=876;j++) scanf("%d",&k); A、最多执行9次 B、是无限循环 C、循环体一次也不执行 D、最多执行10次 【参考答案】错误 D 【学生答案】 [未答此题] 以下程序中,while循环的循环次数是( ). main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、1 B、6 C、死循环,不能确定次数 D、4 【参考答案】错误 C 【学生答案】 [未答此题] 以下不能对二维数组a进行正确初始化的语句是()。 A、int a[2][3]={{1,2},{3,4},{5,6}}; B、int a[][3]={{1,2},{0}}; C、int a[2][3]={0}; D、int a[][3]={1,2,3,4,5,6}; 【参考答案】错误 A 【学生答案】 [未答此题] 下面函数调用语句中,fun含有实参的个数为( ). fun((x,y),(x+y,z,x/y));

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

c语言模拟题目第三套

第三套 若x,i,j,k 都是int型变量,则计算x=(i=4,j=16,k=32)后,x的值为:( ). A、52 B、16 C、4 D、32 【参考答案】错误 D 【学生答案】 [未答此题] 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、10 和 11 C、11 和 11 D、10 和 10 【参考答案】错误 B 【学生答案】 [未答此题] 以下程序的输出结果是:( ) main() {int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--); } A、6 B、5 C、7 D、4 【参考答案】错误 A 【学生答案】 [未答此题] 执行下面程序段后,i的值是( ). int i=10; switch(i) {case 9: i+=1;

case 10: i--; case 11: i*=3; case 12: ++i; } A、28 B、10 C、9 D、27 【参考答案】错误 A 【学生答案】 [未答此题] 下面有关 for 循环的正确描述是( )。 A、for 循环是先执行循环体语句,后判断表达式 B、在 for 循环中,不能用 break 语句跳出循环体 C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for 循环只能用于循环次数已经确定的情况 【参考答案】错误 C 【学生答案】 [未答此题] 针对下列程序段回答问题( ). for(t=1;t<=100;t++) { scanf("%d",&x); if(x<0) continue; printf("%3d",t); } A、x>=0时什么也不输出 B、最多允许输出100个非负整数 C、printf函数永远也不执行 D、当x<0时整个循环结束 【参考答案】错误 B 【学生答案】 [未答此题] 若char a[10];已正确定义,以下语句中不能从键盘上给a数组的 所有元素输入值的语句是()。 A、for(i=0;i<10;i++)a[i]=getchar(); B、scanf("%s",a); C、gets(a);

相关文档
最新文档