文档库 最新最全的文档下载
当前位置:文档库 › 国家开放大学C语言试题及答案

国家开放大学C语言试题及答案

国家开放大学C语言试题及答案
国家开放大学C语言试题及答案

1.C语言中的循环类语句有3条,它们是()。

选择一项:

A. for,if,while

B. for,while,do

C. while,do,switch

D. for,break,do

正确答案是:for,while,do

2.C语言中的跳转类语句有四条,它们是goto,return和()。

A. break,const

B. static,continue

C. break,continue

D. while,extern

正确答案是:break,continue

3.当不需要函数返回任何值时,则所使用的返回类型为()。

A. Int

B. union

C. void

D. Void 正确答案是:void

4.在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。

选择一项:

A. 表达式

B. 语句

C. 函数体

D. 参数表正确答案是:参数表

5.在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为

A. #clude

B. #const

C. #include

D. #defile正确答案是:#include

6.在#include预处理命令中,不可以包含()。

A. 系统头文件

B. 程序文件

C. 用户头文件

D. 目标文件正确答案是:目标文件

7.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据占用的字符位置个数为()。

选择一项:

A. 5

B. 6

C. 4

D. 2

正确答案是:6

8.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。

选择一项:

A. 5

B. 6

C. 4

D. 2正确答案是:2

9.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。

A. 6

B. 4

C. 3

D. 2正确答案是:3

10.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。

选择一项:

A. char

B. int

C. float

D. double正确答案是:float

11.在scanf()函数调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为()。

A. char

B. int

C. float

D. double正确答案是:double

12.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为()。

选择一项:

A. warning

B. error

C. warn

D. err正确答案是:error

13.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为()。

A. obj

B. exe

C. dsw

D. dsp正确答案是:dsw

二、判断题

1.在C语言中,作为标识符的第一个字符可以是英文字母、数字或下划线字符。

正确的答案是“错”。

2.在C语言中,标识符中的非首字符可以是英文字母、数字或下划线字符。

选择一项:正确的答案是“对”。

3.当需要在程序文件中引入用户定义的头文件时,使用的不是#include命令。

正确的答案是“错”。

4.使用#include命令只能包含头文件,不能包含其他任何文件。

正确的答案是“错”。

5.注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。

正确的答案是“对”。

6.一条注释语句的最后必须使用分号结束。

正确的答案是“错”。

7.源程序文件被编译成目标文件后,其目标文件中也存在有对应的注释内容。

正确的答案是“错”。

8.源程序文件被编译成目标文件后,源程序文件中的注释语句仍然存在。

正确的答案是“对”。

9.在一条注释语句中,除了注释内容外,不需要使用任何特定的标记符。

正确的答案是“错”。

10.多行注释语句的开始和结束标记符可以互换使用。

正确的答案是“错”。

11.在执行“printf("%5d",x);”语句时,其输出的x的值所占用的显示宽度将大于等于5个字符位置。正确的答案是“对”。

12.在执行“printf("%6d",x);”语句时,其输出的x的值所占用的显示宽度将小于6个字符位置。

正确的答案是“错”。

13.在执行“printf("%8.2f",x);”语句时,其输出的x的值所占用的显示宽度将大于等于8个字符位置。

正确的答案是“错”。

14.在“scanf("%d %d",&x,&y);”语句中,x和y变量均为整数类型。

正确的答案是“对”。

15.在“scanf("%s",x);”语句中,x变量不是字符指针类型。

正确的答案是“错”。

16.在“scanf("%d-%d=%d",&x,&y,&z);”语句中,有语法错误。

正确的答案是“错”。

17.在C语言程序上机操作的过程中,连接程序的操作步骤之前是编译程序。

正确的答案是“对”。

18.在C语言程序上机操作的过程中,需要对每个用户头文件进行单独的编译操作。

正确的答案是“错”。

19.在C语言程序上机操作的过程中,不能够对用户头文件进行单独的编译操作。

正确的答案是“对”。

1题目1int类型的长度为()。正确答案是:4

2常数-4.25的数据类型为()。正确答案是:双精度型

题目3一个有符号字符类型的值域范围是()。正确答案是:-128到+127

题目4字符串"Its\40\n"的长度为()。正确答案是:5

题目5实数340.25对应的规格化浮点数为()。正确答案是:3.4025e2

题目6要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为()。

正确答案是:const int ABC=10;

题目7要利用#define命令定义ABC常量的值为100,则对应的命令格式为()。

正确答案是:#define ABC==100

下列数值中最大值是()。

正确答案是:28%8

题目9在下面运算符中,优先级最高的是()。正确答案是:!

题目10设有语句序列为“int a=12; a+=a*a;”,则执行结束后,a的值为()。正确答案是:156 题目11 在C语言中,用于比较大小的关系运算符的总数为()。正确答案是:6

题目12x>0 && y<=5的相反表达式为()。正确答案是:x<=0 || y>5

题目13假定x是一个逻辑量,则(x && !x)和(x || !x)的值分别为()。正确答案是:0和1

题目14假定x=4.6,则函数ceil(x)的值为()。正确答案是:5.0

题目15表达式floor(2.3457*100+0.5)/100的值为()。正确答案是:2.35

常数3.26e4是双精度浮点数。正确的答案是“对”。

题目17浮点数只有单精度表示,没有双精度表示。正确的答案是“错”。

题目18定点数包括单精度定点数和双精度定点数两种。正确的答案是“对”。

题目19定义符号常量只有一种方法,就是采用预处理命令#define的方法。正确的答案是“错”。

题目20使用const语句定义一个符号常量时,则必须对它同时进行初始化。

正确的答案是“对”。

题目21在一条变量定义语句中,定义的变量和赋给它的初值之间只能使用等号(=)。正确的答案是“对”。

题目22假定x=5,则表达式2+x++的值为7。

正确的答案是“对”。

题目23表达式(int)14.6%5的值为0。正确的答案是“错”。

题目24表达式x=x+1表示成增量表达式为x++。正确的答案是“错”。

题目25假定x=5,则执行“a=(x?10:20);”语句后a的值为10。正确的答案是“对”。

题目26逻辑表达式(a>b || b==5)的相反表达式为(a>b && b==5)。正确的答案是“错”。

题目27在C语言中,求一个整数的绝对值的数学函数为abs(x)。正确的答案是“对”。

题目28在C语言中,退出程序运行的系统函数为exit()。正确的答案是“对”

一、单项选择题

题目1若x的值为15,则执行“if(x>10) x++; else x--;”语句后,x的值为(

正确答案是:16

题目2若x的值为-10,则执行“if(!x) x++; else x--;”语句后,x的值为()。正确答案是:-11

题目3若x的值为10,则执行“switch(x%3){case

0: x++; case 1:x++; case 2: x++;}”语句后,x的值为()。正确答案是:12

题目4若x的值为10,则执行“switch(x%3){case

0: x++; break; case 1:x++; default: x++;}”语句后,x的值为()。正确答案是:12

题目5若n的值为10,则执行“for(i=1;i

题目6若n的值为10,则执行“for(i=0;

; i++) if(i>n/3) break;”语句后,i的值为()。正确答案是:4

题目7若n的值为10,则执行“for(i=1;

i

题目8若n的值为10,则执行“for(i=0;

i0)

s+=n;”语句的过程中,循环体被执行的次数为()。正确答案是:10

题目10若n的值为5,s的值为0,则执行“while(n-->0) s+=n;”语句后,s的值为()。正确答案是:10 题目11在下列的语句中,必须以分号作为结束的语句是()。正确答案是:do

题目12若n的值为5,s的值为0,则执行“do s+=n--; while(n>0);”语句后,s的值为(正确答案是:15 题目13

要结束任一种循环语句或switch语句的执行,则在其中使用的语句为()。正确答案是:break

二、判断题

在if语句中,必须带有else子句,不能省略它。正确的答案是“错”。

题目15

在for循环语句的头部,for后面括号内共有3个表达式位置。正确的答案是“对”。

题目16for循环语句不能够被转换为while循环语句。正确的答案是“错”。

题目17while循环语句中的循环体可能不会被执行。正确的答案是“对”。

题目18while循环语句的循环体,只能是复合语句,不能是简单语句。正确的答案是“错”。

题目19do-while循环语句中的循环体可能不会被执行。正确的答案是“错”。

题目20do-while循环语句的循环体,只能是复合语句,不能是简单语句。正确的答案是“错”。

题目21do-while循环语句是以循环体结尾的。

正确的答案是“错”

break语句可以使用在switch语句中。正确的答案是“对”。

题目23return语句中可以带有返回表达式。正确的答案是“对”。

题目24continue只能使用在任一种循环语句的循环体中。正确的答案是“对”。

一、单项选择题

题目1假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为()。正确答案是:40

题目2

假定一维数组的定义为“char* a[8];”,则该数组所占用的存储空间的字节数为()。正确答案是:32

题目3假定有一个定义语句为“int a[10]={3,4,2,8,6};”,则元素a[5]的值为()正确答案是:0

题目4在下面的一维数组定义语句中,有语法错误的是()。正确答案是:int a[];

题目5假定二维数组的定义语句为“int a[3][5];”,则该数组所含元素的个数为()。正确答案是:15

题目6假定有一个定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。正确答案是:6

题目7

对于一个长度为n的字符串,保存它至少需要占用的存储字节数为()。正确答案是:n+1

题目8对于一个二维字符数组a[M][N],存储每个字符串的长度至多为()。正确答案是:N-1

题目9若需要比较两个字符串的大小,则选用的函数是()。正确答案是:strcmp

二、判断题

题目10一维数组元素带有两个下标。正确的答案是“错”。

题目11对于二维数组元素,数组名后使用两对中括号。正确的答案是“对”。

题目12在一维数组的定义语句中,给数组赋初值的部分是用一对花括号括起来的数据表。正确的答案是“对”。

题目13在一维数组的定义语句中,数组名前为元素类型关键字。正确的答案是“对”。

题目14在二维数组的定义语句中,数组名后带有两对圆括号。正确的答案是“错”。

题目15假定二维数组的定义语句为“double a[M][N];”,则每个数组元素的列下标取值范围在1~N之间。

正确的答案是“错”。

题目16 使用“typedef char BB[10];”语句定义标识符BB为含有10个元素的一维字符数组。正确的答案是“错”。题目17使用“typedef char BB[10][50];”语句定义标识符BB为含有10行50列共500个元素的二维字符数组类型。正确的答案是“对”。

题目18一个二维字符数组a[10][20]中存储每个字符串的最大长度为19。

一、单项选择题

题目1一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为DataType类型,则该指针的类型为()。

正确答案是:DataType*

题目2NULL是一个符号常量,通常作为空指针值,它的取值为()。正确答案是:0

题目3若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为()。.正确答案是:(char*)p

题目4若要定义整型指针p并初始指向x,则所使用的定义语句为()。正确答案是:int *p=&x;

题目5假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为()。正确答案是:25

题目6假定p是一个指针变量,则该变量的地址表示为()。t.

正确答案是:&p

题目7已知“char*s="Hello world!";”,要使变量p指向s所指向的同一个字符串,则p应定义为()。

正确答案是:char *p=s;

题目8假定a为一个数组名,则下面表达式中错误的是()。正确答案是:*a++

题目9已知“char

b[10]=”12345”, *p=b;”,则*(p+2)的值为()。正确答案是:'3'

题目10已知“int a[6][5];”,则元素a[2][4]的地址比该数组的首地址大()。正确答案是:56个字节

题目11要使p指向二维整型数组a[10][20],p应定义为()。正确答案是:int(*p)[20]=a;

题目12执行“int *p=malloc(sizeof(double)*2);”语句后得到的动态存储空间的字节数为()。正确答案是:16 题目13

利用动态存储分配创建具有10个字节的一维数组空间的正确语句是()。正确答案是:char *p=malloc(10); 二、判断题

题目14

在定义指针变量的语句中,对指针变量不允许赋初值。正确的答案是“错”。

题目15在定义指针变量的语句“int *p,pp;”中,p和pp具有相同的数据类型。正确的答案是“错”。

题目16在语句“typedef

int* inPointer;”中,把标识符inPointer定义为int*类型。正确的答案是“对”。

题目17假定a是一个一维数组,则a+i的值与&a[i]的值相等。正确的答案是“对”。

题目18已知“int a[10], *p=a;”,则进行*p++运算是不允许的。正确的答案是“错”。

题目19假定a是一个二维数组,则表达式*(a[j]+i)所对应的元素为a[i][j]。正确的答案是“错”。

题目20假定a是一个二维数组,则数组名a的值和a[0]的值相等。正确的答案是“对”。

题目21进行动态存储分配的calloc()函数带有一个参数。正确的答案是“错”。

题目22用于释放动态存储空间的函数为free,调研它需要带有一个参数。正确的答案是“对”。

题目23假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i个字节。正确的答案是“对”。

单项选择题

在下面的函数声明语句中存在着语法错误的是()。正确答案是:AA(int a; int b)

题目2如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为()。正确答案是:static

题目3假定一个函数定义为“extern char* f1(char*

x){return x;}”,表示该函数作用域的关键字为()。正确答案是:extern

题目4假定一个函数的原型语句为“int ff(int* x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是()。正确答案是:ff(a[0])

题目5型语句为“int f1(int a[],int n);”,与数组参数等价的表示为()。正确答案是:int* a

题目6假定一个函数的参数说明为const int a,则在函数体中不能进行的操作是()。正确答案是:a=10

题目7在函数体中定义的变量具有()。正确答案是:局部作用域

题目8在函数外定义的变量,若带有作用域关键字static,则它具有()。正确答案是:文件作用域

题目9在函数体中定义一个静态变量时,选用的存储属性关键字为()。正确答案是:static

题目10假定一个函数原型为“void ff(int a[],int n)”,则对应的函数指针类型为()。

选择一项:

正确答案是:void(*ff)(int*a,int)

二、判断题

题目11 函数定义格式中的参数表被称为实参表。正确的答案是“错”。

题目12函数定义格式中的参数表被称为形参表。正确的答案是“对”。

题目13函数调用参数表中的每个实参可以是表达式。正确的答案是“对”。

题目14对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为0。正确的答案是“对”。

题目15在函数体中定义一个变量时,若不选用任何存储属性关键字进行标识,则它为静态变量。正确的答案是“错”。题目16在C语言程序中,主函数也可以成为递归函数。正确的答案是“错”。

题目17在C语言程序中,除主函数外的任何用户定义的函数都可以是递归函数。正确的答案是“对”。

一、单项选择题

题目1在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对()。正确答案是:圆括号题目2假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。正确答案是:16 题目3假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。正确答案是:8

题目4

假定有结构定义“struct Book{char title[20]; double price;};”,则不正确的语句定义为()。

选择一项:正确答案是:struct Book b=("C++ Programming",27.0)

题目5假定有结构定义“struct Book{char title[20]; double price;};”,则正确的语句定义为()。

正确答案是:struct Book *x=calloc(6,sizeof(struct Book));

题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。正确答案是:x->a

题目7与结构成员访问表达式p->name等价的表达式为()。正确答案是:(*p).name

题目8在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的()。

正确答案是:地址

题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为()。正确答案是:p->next=f和f=p

题目10假定一个联合类型的定义为“union D{int a; D* next;};”,则该类型的长度为()。正确答案是:4 二、判断题

题目11在同一个结构类型的定义中,各数据成员名必须不同。正确的答案是“对”。

题目12在结构类型的定义中,其中的数据成员可以是本身类型的指针对象。正确的答案是“对”。

题目13在结构类型的定义中,不允许出现结构类型不完整的超前定义。正确的答案是“错”。

题目14定义结构类型的同时能够定义它的变量。正确的答案是“对”。

题目15定义结构类型的变量时,能够用同类型的其他变量进行初始化,不能用数据表进行初始化。正确的答案是“错”。

题目16使用结构类型时,必须一起使用关键字struct和类型标识符。正确的答案是“对”。

题目17在一个链表中,表头结点和表尾结点均无后继结点。正确的答案是“错”。

题目18在一个链表中,若表头指针的值非空,则表头和表尾结点必然不是同一个结点。正确的答案是“错”。

题目19在C语言中,一个结构类型的长度等于所含的所有数据成员类型长度的最大值。正确的答案是“错”。一、单项选择题

题目1标准输出设备显示器的文件流标识符是()。正确答案是:stdout

题目2表示文件结束符的符号常量EOF的值为()。正确答案是:-1

题目3假定一个磁盘数据文件占用n个字节的存储空间,则按字节进行编址的范围是()。

选择一项:正确答案是:0?(n-1)

题目4在C语言中,为只写操作打开一个文本文件的方式为()。正确答案是:"w"

题目5在C语言中,文本文件的打开方式共有()。正确答案是:6

题目6在C语言中,为读和写操作打开一个二进制文件,若文件不存在则自动建立空文件的打开方式为()。选择一项:正确答案是:"wb+"

题目7从一个文本文件中读取以换行符结束的一个字符串的系统函数为()。正确答案是:fgets()

题目8 向一个文本文件中写入一个字符的系统函数为()。

选择一项:正确答案是:fputc()

题目9向一个二进制文件中写入数据的系统函数为()。正确答案是:fwrite()

题目10从一个二进制文件中读取数据的系统函数为fread(),它的参数有()。正确答案是:4个

二、判断题

题目11一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。正确的答案是“对”。

题目12当向字符文件输出一个换行符时,实际将输出的是回车符或换行符。正确的答案是“错”。

题目13C语言系统中提供一个用来描述文件属性的类型标识符为FILE。正确的答案是“对”。

题目14在数据文件打开方式字符串中,字符r、w和a具有确定的含义,分别代表读、写和追加方式。正确的答案是“对”。

题目15在数据文件打开方式字符串中,字符加号(+)只用于打开二进制文件的方式中,不能用于打开文本文件的方式

中。正确的答案是“错”。

题目16每次只能从文本文件中读取一个字符,不能一次读取一行字符串。正确的答案是“错”。题目17从文本文件中输入数据时,需要调用系统函数fgetc()或fgets()。正确的答案是“对”。题目18向文本文件中输出数据时,需要调用系统函数fputc()或fgetc()。正确的答案是“错”。题目19对二进制文件进行读和写操作将使用同一个系统函数。正确的答案是“错”。

题目20在C语言中,系统函数fseek()用来移动数据文件中的文件位置指针。正确的答案是“对”

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

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

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.534,2,20 5。设有如下程序段,下面描述中正确的是( )。 int k=10;while(k=0)k=k—1; A循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6。以下程序的输出结果为( ). int i; void prt() { for(i=5;i<8;i++) printf(”%c”,'*’); printf("\t"); } main( ) { for(i=5;i<=8;i++)prt( ); } A *** B ************ C *** *** D * ** 7。在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8。以下函数调用语句中含有( )个实参. func((e1,e2),(e3,e4,e5)); A 2 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d);

(精选)大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x \n″,~x^x);的结果是( ) A). ffffffff B). ff __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

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

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); }

大一C语言期末考试试题

6.以下程序的输出结果为()。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为()。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

大学C语言期末考试题4及答案

大学C语言期末考试题及答案(4) 1、定义了一维int型数组a[10]后,下面错误的引用是_____ 正确答案是:B a[0]=1; a[10]=2; a[0]=5*2; a[1]=a[2]*a[0]; 2、设有定义:int a=1, *p=&a; float b=2.0; char c='A'; ,以下不合法的运算是() 正确答案是:C *p++; a--; b++; c--; 3、若有定义:int x[10], *p=x;,则*(p+5)表示() 正确答案是:B 数组元素x[5]的地址 数组元素x[5]的值

数组元素x[6]的地址 数组元素x[6]的值 4、执行以下程序段后,y的值是()。int a[ ]={1, 3, 5, 7, 9} int x=0, y=1, *ptr; ptr=&a[1]; while (!x) { y+=*(ptr+x); x++; } 正确答案是:C 1 2 4 24 5、下面程序的运行结果是()。# include void select(char *s){ int i,j;char *t;t=s;for(i=0,j=0;*(t+i)!='\0';i++)if (*(t+i)>='0'&&*(t+i)<='9'){ *(s+j)=*(t+i);j++;} *(s+j)='\0 正确答案是:D HPw19 &17 HPw 19 &17 1917 6、对于下面语句描述不正确的为_____ struct Student { unsigned long id; char name[30]; char class[30]; }oStu1;

大学大一C语言程序设计期末考试试卷及标准答案

大学大一C语言程序设计期末考试试卷及答案

————————————————————————————————作者:————————————————————————————————日期:

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100分,120分钟 完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上答案为准。 3、 本试卷适用于2011级1、2、3班。 题号 一 二 三 四 总分 总分人 分数 得分 评卷人 壱、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、 设int x;则执行printf(″%x \n″,~x^x);的结果是( ) A). ffffffff B). ff C). 0 D). 1 6、 对于while 语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句 __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

2019年大学C语言期末考试卷(带详解答案)

2019年大学C语言期末考试卷 一、单项选择题 1.(A )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C 开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。

大学大一C语言程序设计期末考试试卷及答案

大学大一C语言程序设计期末考试试卷及答案费下载四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C语言程序设计试卷试卷A 答卷说明: 1、本试卷共6页~答题纸3页~4个大题~35个小题~满分100分~ 120分钟完卷。 2、闭卷考试~所有的答案都必须写在答题纸上~判卷以答题纸上答案 为准。 3、本试卷适用于2011级1、2、3班。 题号一二三四总分总分人 分数 得分评卷人 一、单项选择题(在每小题的四个备选答案中~选出一个正确答案~并将正确答案的 序号填在题干的括号内。每小题1分~共20分) 1、在C语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、不属于C语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型密封线内答题无效 B). 宏替换不占用运行时间

C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C语言中,″\\xfds″在内存中占用的字节数是( ) A).3 B).4 C).5 D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是( ) __________________学院__________级___________班姓名_______________ 学号_______________ A). ffffffff B). ff C). 0 D). 1 ………………………………(密)………………………………(封)………………………………(线)……………………………… 6、对于while语句,错误的说法是( ) A).用条件控制循环体的执行次数 B).循环体至少要执行一次 计算机科学学院 C语言程序设计试卷A 第1页(共8页) C).循环体有可能一次也不执行 D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是( ) int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7 B).6,7,8 C).8,7,6 D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( ) A).9,19 B).9,20 C).10,19 D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( ) A).x数组的长度等于y数组的长度 B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度 D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )

大一c语言期末试题及参考答案

2004级信息学院《C 语言设计》考试试题 、判断下列语句或程序的对错。 10分 V main () { float a,b ; float add_reasult, sub_result ; scanf (“%f,%f ”,a,b) ; add_result=calculate(a,b,&sub_result) ; printf( “a*a+b*b=%d,a*a n ”,add_result,sub_result) } float calculate (float x,float 二 计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(aS)+(c?1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三 程序改错 10分 1) 求两个浮点数的平方和及平方差 sub); 添加函数原型声明 1 int x=y=z=' 0'; 2 #include 号; 3 printf( “ %s n ”, ”c (X) y,z 没有定义 (X)不能有分号, language ”); (V) #开头的结尾均不能有分 4 float a[100]; int *p=a; X) 数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; 7 float x=1.45e+310L; 8 int xyz-1=2; 9 int x=‘ xae ' ; 10 int *p,a[2][3] ; p=a ; (X) (X)数值越界 五个元素,但是只有四个单元 (X) X) 数据类型不匹配 #include float calculate (float x,float y,float float *temp; 应该直接定义为变量 float temp;

相关文档
相关文档 最新文档