广东工业大学c程序设计期末考试试卷

合集下载

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题 含答案

C语言程序设计期末考试试题含答案第一部分:选择题(每题5分,共40分)1. 下列选项中,不是C语言基本数据类型的是:A. intB. floatC. doubleD. string答案:D2. 在C语言中,for循环和while循环的区别是:A. for循环适用于已知循环次数,while循环适用于未知循环次数B. for循环必须有循环条件,while循环可以没有循环条件C. for循环只能用于数字计算,while循环可以用于任意类型的循环D. for循环和while循环没有区别答案:A3. 下列哪个选项是合法的变量名:A. 123varB. _varD. %var答案:B4. 在C语言中,使用printf函数输出一个整数变量的值,应该使用下列哪个占位符:A. %fB. %cC. %dD. %s答案:C5. 下列代码中,输出的结果是什么:```cint a = 5;printf("%d\n", a++);printf("%d", a);```A. 6 5B. 6 6C. 5 6答案:A6. 下列哪个选项中的函数可以用来比较两个字符串是否相等:A. strcmpB. strcatC. strlenD. strcpy答案:A7. 当我们在编写C语言程序时,通常会将一些常用的函数或者代码片段写成一个个独立的文件,这些文件通常以什么扩展名来保存:A. .cB. .hC. .txtD. .exe答案:B8. 下列代码中,缺少的语句是什么:```cint a = 10;int b = 20;int c = a + b;```A. return c;B. printf("%d", c);C. break;D. continue答案:B第二部分:编程题(每题30分,共60分)题目1:编写一个C程序,实现求取一个整数数组中元素的平均值。

要求通过函数实现,函数原型为:float average(int arr[], int length),其中arr为整数数组的首地址,length为数组的长度。

广东工业大学c程序设计期末考试试卷

广东工业大学c程序设计期末考试试卷

广东工业大学c程序设计期末考试试卷一、选择题(每题2分,共20题,40分)1. 若以下选项中的变量已正确定义,则正确的赋值语句是 C 。

A. x1=25.0%3 B. 1+2=x2 C. x3=0x12 D. x4=X1+X2=3;2. 变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式为( A )。

A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z4. 在C程序的开发过程中,最终形成的可执行文件的扩展名是( C )。

A) .c B) .obj C) .EXE D) .BAK 4.下面的程序将输出:(A) main() {int a[5]={1,2,3}; int k,j;for(k=1;k<4;k++) a[k]++;for(j=0;j<5;j++) printf("%d ",a[j]); }A.1 3 4 1 0B.2 3 4 1 0C.2 3 4 0 0D.1 3 4 0 05. a、b、c被定义为int型变量,若从键盘输入数据,正确的输入语句是( B )。

A) INPUT a,b,x; B) scanf(“%d%d%d”,&a,&b,&c); C) scan f(“%d%d%d”,a,b,c); D) read(“%d%d%d”,&a,&b,&c);6.下面程序将输出:(C) void add(int a) { a++; return; } main() {int k; k=3.4; add(k);printf("%d",k); } A. 3.4 B. 4.4 C. 3 D. 4 7. 能将高级语言编写的源程序转换为目标程序的是 C 。

A .链接程序 B. 解释程序 C. 编译程序 D. 编辑程序8. 若有说明int a[2][2],*p; 那么,下面正确的C赋值语句是:( C )A) a=2; B) a[1]=2; C) a[1][ ]={1,2}; D) p=1000; 9. 下列描述不正确的是( C )。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题(含答案)一、选择题(共20题,每题2分,共40分)在每个题目给出的选项中选出一个正确答案,并将其序号填入题前括号内。

1. 下列关于C语言标准库的说法,错误的是:A. C语言标准库提供了多个头文件,如<stdio.h>、<stdlib.h>等。

B. C语言标准库中包含了很多有用的函数和变量。

C. C语言标准库的函数和变量的声明保存在头文件中。

D. C语言标准库中的函数和变量可以直接使用,无需任何声明和定义。

2. 下面哪个选项是正确的整型常量表示法?A. 3.14B. 'A'C. 3.0E8D. 0xFC3. 下面代码中,输出结果是多少?```c#include <stdio.h>int main() {int x = 3, y = 4, z;z = (x++) + (++y);printf("%d\n", z);return 0;}```A. 7B. 8C. 9D. 104. 下面哪个选项是正确的声明一个指向整型数据的指针?A. int *ptr;B. int ptr;C. *int ptr;D. ptr *int;5. 下面哪个选项是正确的函数声明?A. int add(int a, int b);B. int add(int a, b);C. add(int a, int b);D. add(int a, b);(略去其他题目...)二、编程题(共2题,每题30分,共60分)请编写符合题目要求的程序。

1. 题目描述:编写一个程序,实现求解1至100之间的所有偶数的和,并打印输出结果。

以下是程序的运行示例:```1至100之间的所有偶数的和为2550。

```2. 题目描述:编写一个程序,实现将用户输入的英文句子的每个单词首字母变为大写,并打印输出结果。

以下是程序的运行示例:```请输入一个英文句子:hello world!转换后的句子为:Hello World!```三、简答题(共2题,每题10分,共20分)请简要回答以下问题。

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,正确的是?A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 函数必须有参数答案:C3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 下列关于数组的描述中,错误的是?A. 数组可以是多维的B. 数组的下标从0开始C. 数组的大小在编译时确定D. 数组可以动态分配答案:D5. C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. *D. void答案:C6. 在C语言中,以下哪个关键字用于定义一个静态变量?A. staticB. externC. registerD. auto答案:A7. 下列关于C语言中文件操作的描述中,正确的是?A. 文件操作只能使用标准库函数B. 文件指针必须使用FILE类型C. 文件操作必须使用fclose函数关闭文件D. 文件操作不能使用缓冲区答案:B8. 在C语言中,以下哪个关键字用于定义一个宏?A. defineB. typedefC. enumD. struct答案:A9. 下列关于C语言中位运算的描述中,错误的是?A. & 表示按位与B. | 表示按位或C. ^ 表示按位异或D. ~ 表示按位取反答案:B10. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的内存空间通常是______个字节。

答案:42. C语言中,使用______关键字可以定义一个无限循环。

答案:while3. C语言中,数组的元素默认初始化为______。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案在本次大一C程序设计的期末考试中,我们精心准备了以下题目,旨在考察同学们对C语言基础知识的掌握程度以及编程能力。

以下是考试题目及参考答案。

一、选择题(每题2分,共20分)1. C语言中,哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable-nameC. _variableD. variable$name答案:C3. 在C语言中,哪个运算符用于计算两个数的和?A. +B. -C. *D. /答案:A4. 若有以下代码片段:```cint a = 5;int b = 10;a = b;```执行后,变量a的值是多少?A. 5B. 10C. 15D. 0答案:B5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. 以上都是答案:D6. C语言中,哪个函数用于输入字符?A. scanf()B. printf()C. getchar()D. getc()答案:C7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while8. 在C语言中,哪个关键字用于定义数组?A. arrayB. listC. vectorD. int[]答案:D9. 下列哪个选项是C语言中的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello" "World"D. 'Hello' 'World'答案:A10. 在C语言中,哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每空2分,共20分)1. 在C语言中,使用____关键字可以定义一个函数。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷

c语言程序设计期末考试试卷C语言程序设计期末考试试卷一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项表示一个字符常量?- A. 'A'- B. "A"- C. \A- D. A2. 以下哪个是C语言中的合法标识符?- A. 2variable- B. variable2- C. variable!3. C语言中,以下哪个语句用于定义一个整型数组?- A. int array[10] = {0};- B. int [10] array = {0};- C. int array = [10] = {0};- D. int array[10];4. 以下哪个是C语言中定义函数的关键字?- A. function- B. method- C. def- D. int5. C语言中,以下哪个是正确的函数声明?- A. int add(int a, int b)- B. int add(int a, int b) {}- C. int add(int, int);- D. void add(int a, int b);6. 在C语言中,以下哪个语句用于实现循环?- A. do-while- B. for- C. switch-case- D. if-else7. 在C语言中,以下哪个语句用于实现条件判断? - A. if-else- B. switch-case- C. while- D. for8. 在C语言中,以下哪个语句用于实现跳转?- A. return- B. break- C. continue- D. goto9. 在C语言中,以下哪个是正确的字符串字面量? - A. "Hello World"- B. 'Hello World'- C. "hello world"- D. {"Hello World"}10. 在C语言中,以下哪个是正确的结构体定义?- A. struct person { int age; char name[20]; };- B. struct { int age; char name[20]; } person;- C. struct person { int age; char name; };- D. struct person int age; char name[20];二、填空题(每空1分,共10分)1. 在C语言中,一个整型变量的默认值是______。

大学《C语言程序设计》期末考试试题题库(带详解答案)

大学《C语言程序设计》期末考试试题题库(带详解答案)

一、单项选择题1.若有以下说明语句:struct date{ int year;int month;int day;}brithday;则下面的叙述不正确的是__C___.A) struct是声明结构体类型时用的关键字B) struct date 是用户定义的结构体类型名C) brithday是用户定义的结构体类型名D) year,day 都是结构体成员名2. 以下对结构变量stul中成员age的非法引用是Bstruct student{ int age;int num;}stu1,*p;p=&stu1;A) stu1.age B) student.age C) p->age D) (*p).age3.设有如下定义:struck sk{ int a;float b;}data;int *p;若要使P指向data中的a域,正确的赋值语句是CA) p=&a; B) p=data.a; C) p=&data.a; D)*p=data.a;4.设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。

A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名5.语句int *p;说明了 C 。

A)p是指向一维数组的指针B)p是指向函数的指针,该函数返回一int型数据C)p是指向int型数据的指针// 指针的定义教材P223D)p是函数名,该函数返回一指向int型数据的指针6.下列不正确的定义是(A)。

A.int *p=&i,i;B.int *p,i;C.int i,*p=&i; D.int i,*p;选项A先定义一个整型指针变量p,然后将变量i的地址赋给p。

然而此时还未定义变量i因此编译器无法获得变量i的地址。

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

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

大学《C语言程序设计》期末考试试卷及参考答案《C语言程序设计》期末考试试卷参考答案一、判断题(10分)1、对2、对3、错4、错5、对6、错7、错8、错9、错10、错二、填空题(30分,,1到10题1分1空,10到18题2分1空)1.2.5 2. a!=0&&b!=0 3. m=1b 4. windows 95 5. x[i]>='A'&&x[i]<='Z' 6.234567 7.文件的首纪录前8、struct tree *Ltree,*Rtree 9. i<=10010. char a[10]="continue"; 11. p*pow(1+r,5) 12. 'D' 13. 10、514.#define utol(ch) ch=ch>='A'&& ch<='Z' ? ch+'a'-'A':ch15.首行第i+1个元素的地址,第i+1行的首地址,a[0][0]的值16.p=(int*)mallo(n);17. (-b+sqrt(b*b-4*a*c))/2/a 18. float(*fg)(float **,int,int);三、单项选择题(在每小题的四个备选答案中选出一个正确的,10分))1、A2、B3、C4、B5、D6、A7、A8、B9、C 10、A四、程序阅读题(20分,每题4分)1、 A C E G2、 x=3 y=23、the two string are same:fthe two string are same:r4、 K=85、1《C语言程序设计》期末考试试卷及参考答案一、判断题(10分)1、C语言是一种结构化程序设计语言。

()2、在标准C中,整型变量与字符变量是可以通用的。

()3、在标准C中,“=”是判断两个数是否相等。

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)

C语言程序设计期末考试试题(含答案)C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题2 分,共40分)1、以下不是C语言的特点的是( )A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2、以下不正确的C语言标识符是( )A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( )A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( )A、intB、floatC、doubleD、不确定6、在C语言中,char型数据在内存中的存储形式是( )A、补码B、反码C、源码D、ASCII码7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。

#includemain(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、若有以下定义int a,b; float x,则正确的赋值语句是( )A、a=1,b=2B、b++;C、a=b=5D、b=int(x);9、以下程序的执行结果是( )#include{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#includemain(){char c1='A',c2='Y';printf("%d,%d\n",c1,c2);A、A,YB、65,65C、65,90D、65,8911、下列运算符中优先级最高的是( )A、<B、十C、%D、!=12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。

C语言程序设计期末考试试题及参考答案

C语言程序设计期末考试试题及参考答案

一、单项选择题(每题1分,共20分)(1)()是构成C语言程序的基本单位。

A)子例程B)过程C)子程序D)函数(2)下面标识符中正确的是()。

A) d&ef B) 6a C) z4x5c D) a3/b4(3)C语言规定,函数返回值的类型是由()。

A) return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定(4)以下选项中非法的表达式是()。

A) 0<=x<100 B) x+l=x+l C) (char)(65+3) D) i=j=0(5)表达式3.6-5/2+1.2+5%2 的值是()。

A) 3.8 B) 4.8 C) 3.3 D) 4.3(6)设int a=12,则执行完语句a+=a-=a*a后,a的值是()。

A) 552 B) -264 C) 144 D) 264(7)对if语句中表达式的类型,下面正确的描述是()。

A)必须是关系表达式B)必须是关系表达式或逻辑表达式C)必须是关系表达式或算术表达式D)可以是任意表达式⑻设有定义:intnl=0,n2,*p=&n2,*q=&nl;,以下赋值语句中与n2=nl;语句等价的是.A) *p=*q; B) p=q; C) *p=&nl; D) p=*q;(9)有以下程序#include <stdio.h>void main()( char cl,c2;cl='A'+'8'*4';c2='A'+'8'-'5‘;printf("%c,%d\n”,cl,c2); }已知字母A的ASCII码为65,程序运行后的输出结果是()。

A) E,D B) D,69 C) E,68 D)输出无定值(10)下列叙述中正确的是()。

A) break语句只能用于switch语句B)在switch语句中必须使用defaultC) break语句必须与switch语句中的case配对使用D)在switch语句中,不一定使用break语句(11)设a、b和c是int型变量,且a=2,b=4,c=6,则下面表达式中值为0的是()。

C程序设计期末考试复习试卷(含答案)

C程序设计期末考试复习试卷(含答案)

期末考试试卷年(班)级 科目 C 语言程序设计一、单项选择题(每题1分,共20分)1、C 语言中,要求运算数必须是整型的运算符是( )A 、%B 、/C 、<D 、! 2、下列属于C 语言中合法标识符的是( )A 、8ZSeB 、NO.1C 、N0_1D 、aa$ 3、已知int j ,i=1;执行语句j=i++;后,变量i 的值是( )A 、1B 、2C 、-1D 、-2 4、执行下列两个语句后,输出的结果为( )char c1=65,c2=97; printf(“%c,%d ”,c1,c2);A 、65,98B 、65,aC 、A,97D 、A,a 5、C 语言源程序的基本单位是( )A 、过程B 、函数C 、子程序D 、标识符6、在C 语言中,if 语句后的一对圆括号中,用以决定分支流程的表达式为( )A 、只能是逻辑表达式B 、只能是关系表达式C 、只能是逻辑表达式或关系表达式D 、可以是任意表达式 7、若int i=10;执行下列程序后,变量i 的最后结果是( ) switch ( i ) { case 0: i+=1;case 10: i+=1; case 11: i+=1; default: i+=1; }A 、10B 、11C 、12D 、13 8、以下错误的描述是( )A 、break 语句不能用于循环语句和switch 语句外的任何其他语句B 、在switch 语句中使用break 语句或continue 语句的作用相同C 、在循环语句中使用continue 语句是为了结束本次循环,而不是终止整个循环D 、在循环语句中使用break 语句是为了使流程跳出循环体,提前结束循环9、有如下程序,该程序的执行结果是( ) main(){ int i,sum=0; for(i=1;i<=3;i++) sum+=i++;printf(“%d\n ”,sum); } A 、4B 、3C 、死循环D 、610、在宏定义#define PI 3.14 中,用宏名PI 代表一个( ) A 、变量B 、字符串C 、双精度数D 、单精度数11、C 语言中函数返回值的类型由( )决定的A 、return 语句中的表达式类型B 、调用该函数的主调函数的类型C 、调用函数时临时决定D 、定义函数时所指定的函数类型12、在C语言程序中,以下说法正确的是()A、函数的定义可以嵌套,但函数的调用不可以嵌套B、函数的定义不可以嵌套,但函数的调用可以嵌套C、函数的定义和函数的调用都不可以嵌套D、函数的定义和函数的调用都可以嵌套13、有如下程序,该程序的输出结果是( )long fib(int n){ if(n>2) return(fib(n-1)+fib(n-2));elseif(n==2) return(2);else return(1); }main(){ printf(“%d\n”,fib(4)); }A、3B、4C、5D、614、若有下面的变量定义,以下语句中合法的是()int i,a[10],*p;A、p=a+2;B、p=a[5];C、p=a[2]+2;D、p=&(i+2);15、数组的指针,其含义是指该数组的()A、值B、首地址C、名称D、一个标志16、若有说明:int a[3][4];则对a数组元素的正确引用是()A、a[2][3]B、a[1,3]C、a[1+2][0]D、a(2)(1)17、执行下列程序后y的值是( )main(){ int a[]={1,2,3,4},y,*p=a;y=*p++;} A、1B、2 C、3 D、418、以下程序的输出结果是( )void fun(int *a,int b){ *a=2; b=5; }main(){ int a=3, b=7;fun(&a,b);printf(“%d,%d\n”, a,b);}A、2,5B、3,7C、3,5D、2,719、语句int *f()的含义是( )A、定义一个指向函数的指针变量B、定义一个指向整型变量的指针变量C、说明函数f的返回值类型是指向整型变量的指针类型D、说明函数f的返回值类型是整型20、关于return语句,下列正确的说法是()A、可以在同一函数中出现多次B、必须在每个函数中出现C、只能在除主函数之外的函数中出现一次D、在主函数中不能出现二、填空题(每空2分,共20分)1、已知a=3,b=2,则表达式a*=b+8的值是( 30)。

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案

大一c程序设计期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,错误的是:A. 变量名必须以字母开头B. 变量名中可以包含下划线C. 变量名区分大小写D. 变量名可以包含数字答案:D2. C语言中,用于定义字符常量的是:A. 单引号B. 双引号C. 反引号D. 尖括号答案:A3. 下列哪个选项不是C语言中的运算符?A. 赋值运算符B. 关系运算符C. 逻辑运算符D. 条件运算符答案:D4. 在C语言中,用于定义一个整型数组的语句是:A. int array[5];B. int array[];C. int array[5]={0};D. int array[5]={0,1,2,3,4};答案:A5. 下列关于C语言函数的描述,正确的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以没有参数D. 所有选项都是正确的答案:D6. C语言中,用于输入输出的库函数是:A. printfB. scanfC. printf和scanfD. 以上都不是答案:C7. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B8. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A9. 下列关于C语言中循环的描述,错误的是:A. for循环可以没有初始化部分B. while循环可以嵌套使用C. do-while循环至少执行一次D. 循环体内可以包含break语句答案:A10. C语言中,用于定义枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义整型变量的关键字是____。

答案:int2. 在C语言中,表示逻辑与的运算符是____。

广工C语言试题与答案

广工C语言试题与答案

试卷代号:6111 A卷《程序设计语言》期末试卷(试卷总分:100分,考试时间:120分钟,答案写在答卷纸上)一、单项选择题(每题2分,共40分)1.组成C程序的基本单位是C。

A)表达式与语句B)若干文件C)函数D)main函数2.有关以下函数的哪些说法是正确的____B____。

int add( int x;int y){z=x+y;return z;}A)此函数能单独运行B)此函数存在语法错误C)此函数通过main函数能调用D)此函数没有语法错误3.下列数据中,为字符的是_____D___。

A)'AB' B)"A" C)How D)'A'+24.下列表达式没有错误的是_____C___。

int x,*p;A)5.0%2 B)x+1=5 C)&p D)&(x+1)5.任何复杂的程序,都是由______C__构成的。

A)分支结构、顺序结构、过程结构B)循环结构、分支结构、过程结构C)顺序结构、循环结构、分支结构D)循环结构、分支结构6.以下选项中,合法的C语言关键字是__C______。

A)integer B)Char C)short D)Long7.若有说明语句:int y[][4]={0,0,0,0,0,0}; 则正确的叙述是________。

A)数组y的每个元素都可得到初值0B)二维数组y的行数为1C)该说明等价于int y[0][4]={0};D)有元素y[0][0]至y[0][5]可得到初值,其余元素均得不到初值08.若有以下变量说明和数据的输入方式,则正确的输入语句为________。

变量说明:float x1,x2;数据的输入方式:4.52<回车>3.5<回车>A)scanf(“%f,%f”,&x1,&x2); B)scanf(“%f%f”,&x1,&x2);C)scanf(“%3.2f,%2.1f”,&x1,&x2); D)scanf (“%3.2f%2.1f”,&x1,&x2);9.已知:int a,*p=&a; 则为了得到变量a的值,下列错误的表达式为___C_____。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广东工业大学c程序设计期末考试试卷
一、选择题(每题2分,共20题,40分)
1. 若以下选项中的变量已正确定义,则正确的赋值语句
是 C 。

A. x1=25.0%3 B. 1+2=x2 C. x3=0x12 D. x4=X1+X2=3;
2. 变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子
的C
语言表达式为( A )。

A) x/y*z B) x*(1/(y*z)) C) x/y*1/z D) x/y/z
4. 在C程序的开发过程中,最终形成的可执行文件的扩展名是
( C )。

A) .c B) .obj C) .EXE D) .BAK 4.下面的程序将输出:
(A) main() {
int a[5]={1,2,3}; int k,j;
for(k=1;k<4;k++) a[k]++;
for(j=0;j<5;j++) printf("%d ",a[j]); }
A.1 3 4 1 0
B.2 3 4 1 0
C.2 3 4 0 0
D.1 3 4 0 0
5. a、b、c被定义为int型变量,若从键盘输入数据,正确的输入语句是
( B )。

A) INPUT a,b,x; B) scanf(“%d%d%d”,&a,&b,&c); C) scan f(“%d%d%d”,a,b,c); D) read(“%d%d%d”,&a,&b,&c);
6.下面程序将输出:(C) void add(int a) { a++; return; } main() {
int k; k=3.4; add(k);
printf("%d",k); } A. 3.4 B. 4.4 C. 3 D. 4 7. 能将高级语言编写的源程序转换为目标程序的是 C 。

A .链接程序 B. 解释程序 C. 编译程序 D. 编辑程序
8. 若有说明int a[2][2],*p; 那么,下面正确的C赋值语句是:( C )
A) a=2; B) a[1]=2; C) a[1][ ]={1,2}; D) p=1000; 9. 下列描述不正确的是( C )。

A) 字符型数组中可能存放字符串。

A) 可以对字符型数组进行整体输入或输出。

B) 可以对整型数组进行整体输入或输出。

D) 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值 10.若有说明int a[2][2];那么,下面正确的C赋值语句是:(D)
A.a=2;
B.a[1]=2;
C.a[1]={1,2};
D.a[0][1]=a[1][0];
11. 设有定义:int i,*pi=&i;,以下scanf语句中能正确为变量i读入数据的是 A 。

A.scanf("%d",pi);
B. scanf("%d",i);
C. scanf("%d",&pi);
D. scanf("%d",*pi); 12.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!y)的值是:(C) A.0 B.语法错 C.1 D."假" 13. 有以下程序: main()
{ int x=0,y=5,z=3;
while(z-->=0&&++x<6) y=y-1; printf("%d,%d,%d\n",x,y,z); }
程序执行后的输出结果是 B 。

A. 3,2,-1 B. 4,1,-2 C. 5,1,-2 D. 5,-2,-5
14. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递是
( C )。

A) 地址传递 B) 由实参传给形参,再由形参传给实参 C) 单向值传递 D) 传递方式由用户指定
15. 有以下程序: main()
{ int i,n=0;
for(i=2;i<5;i++) { do
{ if(i%3) continue; n++; } while(!i); n++; }
printf("n=%d\n",n); }
程序执行后的输出结果是 D 。

A. n=5
B. n=2
C. n=3
D. n=4 16、有如下程序:
#include<stdio.h> void main() {
int s,i;
s=0;
for(i=1;i<=9;i++)
s=s+i;
prin tf(“%d\n”,s);
}
该程序中的s=s+i; 语句执行的次数是( B )
A) 5 B) 9 C) 6 D)8 17 .以下程序运行后,输出结果是
D A.13 B.51 C.11 D.53
int d=1; fun (int p) {int d=5; p=d;
printf("%d",p); }
main() {int a=3; fun(a); d=a;
printf("%d\n",d);}}
18. 有以下程序段:
int a[10]={10,9,8,7,6,5,4,3,2,1},*p=&a[3],b; b=p[5];
b中的值是C 。

A. 5
B. 1
C. 2
D. 6
19、函数调用时,若用数组名作实参,则传递给形参的是(B)
A. 数组元素的个数
B. 数组的起始地址
C.数组第一个元素的值
D. 数组全部元素的值 20. 有如下程序:
#include<stdio.h> #define N 2 #define M N+1 #difine NUM 2*M+1 void main() { int i;
for(i=1;i<NUM;i++)
printf(“%d\n”,i);}
该程序中的for循环执行的次数是(C) A. 5 B. 7 C. 6 D.8
二、填空题(每空2分,共5空)
1、已知x为float型,执行语句(int)x后,x为( int )型。

2、设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为(1.0 )。

3、语句:fopen(“A:\user\abc.txt”,”w”)的作用是_以写入方式打开A盘user文件夹下一个名abc.txt文本文件。

4. 已知语句:int x=23; 执行语句(float)x后,x值为____23.000000。

5、语句:“char c[6]=“china”;”与“char c[6]={…c‟,…h‟,…i‟,…n‟,…a‟};”最本质的差别是结尾是不是以\0结束。

三、程序改错(每题10分,共2题)程序1
#include ″stdio.h″ void main() {
int a,b; 改:加上float f;
scanf(″%d%d″,&a,b); 改:scanf(“%d%d”,&a,&b); f=float(a/b); 改:f=(float)(a/b); printf(″a/b=%d″,f); 改:printf(“a/b=%f”,f); }。

相关文档
最新文档