四川大学c语言期末试题(版)

合集下载

2013年C语言知识学习期末试题(A)

2013年C语言知识学习期末试题(A)

四川大学期末考试试题(A卷)(2013——2014 学年第一学期)课程号:303066030课序号:课程名称:计算机基础及C程序设计语言任课教师:刘亚梅刘洋任瑞玲曾晓东余勤罗伟王茂宁王忠邓丽华成绩:适用专业年级:2012级学生人数:印题份数:学号:姓名:注:1试题字迹务必清晰,书写工整。

本题8 页,本页为第 1 页2 题间不留空,一般应题卷分开教务处试题编号:学号:姓名本题8 页,本页为第 2 页教务处试题编号:学号:姓名以下叙述中正确的是______。

A)在给s1和s2数组置初值时,系统会自动添加字符串结束符,故长度都为3B)由于s1数组中没有字符串结束符,长度不能确定;但s2数组中字符串长度为3C)由于s1和s2数组中都没有字符串结束符,故长度都不能确定D)以上说法都不对25.若有定义:int a=0, *p=&a;,则语句printf("%d\n",*p);的输出结果是______。

A)随机值B)0 C)a的地址D)p的地址26.下面程序段,输出*的个数是char *s="\tx++\016yz";for (;*s!='\0';s++) printf("*");A)4 B)9 C)7 D)1127.若有以下说明,且0≤i≤10,则对数组元素的错误引用是_______。

int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p = a, i;A)p[i] B)a[p-a+i] C)p+i D)*(&a[i])本题8 页,本页为第 3 页教务处试题编号:学号:姓名void main(){int a[]={2,4,6,8,10}, y=0, x, *p;p=&a[1];for(x= 1; x<3; x++)y += p[x];printf("%d\n",y);}A)10 B)11 C)14 D)15 30.以下程序运行后的输出结果是______。

大学生期末c语言试题及答案

大学生期末c语言试题及答案

大学生期末c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的元素类型必须一致C. 数组的下标可以是实数D. 数组的下标可以是负数答案:B3. C语言中,用于文件操作的库函数位于哪个头文件中?A. stdio.hB. math.hC. string.hD. stdlib.h答案:A4. 下列哪个运算符不能用于赋值?A. =B. +=C. *=D. %答案:D5. C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:B6. 下列关于指针的描述中,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B7. C语言中,用于定义一个宏的预处理指令是:A. #defineB. #includeC. #pragmaD. #if答案:A8. 下列关于循环的描述中,正确的是:A. for循环可以没有初始化表达式B. while循环可以嵌套C. do-while循环至少执行一次D. 所有循环都可以使用break语句退出答案:C9. C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A10. 下列关于函数的描述中,错误的是:A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以递归调用D. 函数可以嵌套定义答案:D二、填空题(每题2分,共20分)1. 在C语言中,字符'A'的ASCII码值是______。

答案:652. 若int a = 10; int b = 20; 则表达式a++ + b的结果是______。

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语言期末考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言的执行方式是编译执行C. C语言支持面向对象编程D. C语言具有丰富的库函数答案:C2. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是:A. 数组必须在定义时初始化B. 数组的下标从1开始C. 数组可以存储不同类型的数据D. 数组的大小在定义后不能改变答案:D4. 在C语言中,用于文件操作的库函数是:A. printfC. fopenD. getchar答案:C5. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以作为函数的参数C. 指针可以被赋值为NULLD. 指针可以存储函数的地址答案:D6. 在C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:B7. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环可以和break语句一起使用C. do-while循环至少执行一次D. 循环体内不能使用continue语句答案:D8. 在C语言中,用于定义一个宏的预处理命令是:B. #includeC. #pragmaD. #import答案:A9. 下列关于函数的描述中,错误的是:A. 函数可以有返回值B. 函数可以没有参数C. 函数可以没有返回值D. 函数可以没有定义答案:D10. 在C语言中,用于定义一个枚举类型的关键字是:A. enumB. structC. unionD. typedef答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是____。

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

答案:&&3. 当需要在C语言中表示一个常量时,可以使用关键字____。

完整word版,C语言程序设计期末考试试题(含答案)

完整word版,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>后(<CR>表示回车),x的值是( ) 。

#include<stdio.h>main(){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<stdio.h>{int i=10,j=10;printf("%d,%d\n",++i,j--);}A、11,10B、9,10C、11,9D、10,910、巳知字母A的ASCII码是65,以下程序的执行结果是( )#include<stdio.h>main(){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语言末期考试模拟考题
return 0;
}
运行结果是:
注:输出格式控制中的h表示输出短整形(16位)。
4.
#include<>
int main(void)
{
int d=200;
int *p1=&d, *p2=p1;
printf("%d\n", *p2**p1);
return 0;
}
运行结果是:40000
四、程序填空题(每空2分,共20分)
return 0;
}
五、编程题(共25分)
1.请设计一个函数char *StrCat(char dest[ ], char source[ ]) 以完成将源字符串source连接到目的字符串dest末尾的工作,并设计int main(void)测试程序,要求通过StrCat()函数的返回值和实参数组获取连接后的字符串,并输出该字符串。
1.为了判断两个字符串s1与s2是否相等,应当使用C
A)if( s1 = = s2 )B)if( s1 = s2 )
C)if( strcmp( s1, s2 ) )D)if( strcmp( s1, s2 ) = 0 )
2.以下程序的输出结果是A
#include <>
int a;
int main(void)
int main(void)
{
int i;
for(i=0;i<5;i++)
{
switch(i%2)
{
case 0:
printf("ห้องสมุดไป่ตู้");
break;
case 1:
printf("1");

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

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

大学c语言期末考试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:A2. 以下哪个选项是正确的C语言变量声明?A. int a = b = 2;B. int a = 2, b;C. int a = 2.0;D. int a = 2, b = 3.0;答案:B3. 在C语言中,以下哪个运算符用于逻辑“与”操作?A. &&B. ||C. !D. &答案:A4. 以下哪个选项是C语言中的合法数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array[5] = {1, 2, 3, 4, 5, 6};答案:B5. C语言中,以下哪个函数用于计算两个整数的和?A. max()B. pow()C. sqrt()D. sum()答案:D6. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A7. 以下哪个选项是C语言中的合法指针声明?A. int *ptr;B. int *ptr = 0;C. int *ptr = "hello";D. int *ptr = 5;答案:A8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strcmp()D. strlen()答案:B9. C语言中,以下哪个关键字用于创建一个循环,直到满足某个条件?A. whileB. forC. do-whileD. switch答案:C10. 在C语言中,以下哪个函数用于动态内存分配?A. malloc()B. calloc()C. realloc()D. free()答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

四川大学C语言期末试题

四川大学C语言期末试题

C 循环体只执行一次 D 是无限循环 3.下列说法不正确的是( )。 A 主函数main中定义的变量在整个文件或程序中有效 B 不同函数中,可以使用相同名字的变量 C 形式参数是局部变量 D 在一个函数内部,可以在复合语句中定义变量,这些变量只在本复 合语句中有效 4.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )。 A p=a; B *p=a[0]; C p=&a[0]; D p=&a; 5.关于return语句,下列正确的说法是( )。 A 可以在同一函数中出现多次 B 必须在每个函数中出现 C 只能在除主函数之外的函数中出现一次 D 在主函数中不能出现 6.数组名作为实参传递给形参时,数组名被处理为( )。 A 该数组的长度 B 该数组的元素个数 C 该数组的首地址 D 该数组中各元素的值 7.要打开一个已存在的非空文件"file"用于修改,选择正确的语句( )。 A fp=fopen("file","r"); B fp=fopen("file","w"); C fp=fopen("file","r+"); D fp=fopen("file","w+"); 8. 定义结构体的关键字是( ) A. union B. enum C.struct D.typedef 9. 以下程序的输出结果是( ) #define f(x) x*x int main(void) { int a=6,b=2,c; c=f(a)/f(b); printf(“%d\n”,c); } A. 9 B. 6 C. 36 D. 18五、填空题(本大题共来自0小题,每空2分,共20分)。

四川大学网络教育《C 语言程序设计》复习资料期末考试复习题及参考答案

四川大学网络教育《C 语言程序设计》复习资料期末考试复习题及参考答案

《C语言程序设计》复习资料一.单项选择题1.下面哪一个是合法的用户自定义标示符( D )(A) b-b (B) float (C) <fr> (D) _isw2.a、b为两个bool型变量,如下哪一个表达式能够表达“a、b同时为真或同时为假”的含义?(C )(A)a&&b||a (B)(a&&b)||!b (C)(a&&b)||(!a&&!b) (D)(a||b)&&(!a||!b)3.对于表达式(x>0)?x=x-1:x=x+1,若当前x取值为-2,该表达式的运算结果为( A )(A) -1 (B) 0 (C) 1 (D) 24.不是C语言基本数据类型的是( D )(A) 指针类型 (B) 整型 (C) 字符型 (D) 实型5.以下for循环控制中,循环次数为10次的是( C )(A)for(int i=1;i<10;i++) (B)for(int i=0;i<=10;i++)(C)for(int i=0;i<20;i+2) (D)for(int i=0;i<=20;i+2)6.设有:int a=3, b= 4, c= 5,x , y; 表达式0 && (x=a)&&(y=b)的值为( B )(A) 1 (B) 0 (C) 3 (D) 47.设有语句 int a=3 ; 则执行了语句 a+=6;后,变量a 的值为( C )(A) 18 (B) -3 (C) 9 (D) 128.对于变量定义char* p_name[]={“Kate”,“John”,“Mike”},如下哪一种表达式能表示“Mike”中的‘k’字符?( B )(A)p_name[0][2] (B)p_name[2][2](C)*(p_name[2]+3) (D)*(p_name[1]+2)9.表达式(int)7.5/(float)2的取值为( A )(A)3.75 (B)3.5 (C)3 (D)410.有定义语句:float a[4];则分配给数组a的内存空间为( C )字节(A) 20 (B) 12 (C) 16 (D) 1011.表达式6>8 | | 3>=9的取值为( A )(A)0 (B)1 (C)2 (D)312. 表达式18/4*sqrt(4.0)/8值的数据类型为(C )(A) int(B)float(C)double(D)不确定13.表达式18/4*sqrt(4.0)/8值的数据类型为( D )(A)int B float C.double D.不确定14.在以下定义中对标识符ptr描述正确的是( C )int(*ptr)[3];(A)定义不合法 (B)是一个指针数组名,每个元索是一个指向整型变量的指针(C)是一个指针,它指向一个具有3个元素的一维数组(D)是一个指向整型变量的指针15.已知有语句 scanf (“%d%d”,&a,&b);要使整型变量 a = 6, b = 8,运行时,屏幕上应输入( D )(A)a=6,b=8 (B)a=6 b=8 (C)6 8 (D)6 , 816.若char a=3,b=6,c; c=a^(b>>2);则c的二进制形式为(A )(A) 00000010 (b)00000100 (C)00000001 (D)0000001117.若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是( D )(A)p=q (B)*p=*q (C)n=*q (D)p=n18.已知int a[3][4];则对数组元素引用正确的是( C )(A) a[2][4] (B) a[1,3] (C) a[2][0] (D) a(2)(1)19.已知定义int a[]={10, 60, 30};写出语句a[0]+ = a[1] - = a[2];运行后数组各元素的值为( B )(A)a[0] =70 , a[1] = 30,a[2] = 30。

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

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

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC classD char答案:C解析:在 C 语言中,class 不是关键字,int、float 和 char 都是常见的数据类型关键字。

2、以下变量定义中,正确的是()A int a=b=5;B char a='A';C float a=55, b=66;D double a; b;答案:C解析:A 选项中不能在定义时连续赋值;B 选项应该是 char a ='A';注意单引号;D 选项应该是 double a, b; 中间用逗号分隔。

3、以下程序段的输出结果是()```cint a = 5, b = 4, c = 6;if (a > b && a > c)printf("a 最大\n");else if (b > a && b > c)printf("b 最大\n");elseprintf("c 最大\n");```A a 最大B b 最大C c 最大D 编译错误答案:C解析:因为 5 不大于 6,所以执行 else 部分,输出“c 最大”。

4、以下循环语句执行的次数是()```cfor (int i = 0; i < 5; i++){printf("%d ", i);}```A 4 次B 5 次C 6 次D 无限次答案:B解析:从 0 到 4 ,一共 5 次。

5、以下数组定义中,正确的是()A int a5 ={1, 2, 3, 4, 5, 6};B int a ={1, 2, 3};C int a5 ={1, 2};D int a3 =(1, 2, 3);答案:B解析:A 选项数组长度为 5,却初始化了 6 个元素;C 选项只初始化了前两个元素,后面三个元素默认为 0;D 选项初始化方式错误,应该用花括号。

大学计算机 C语言期末复习题(一) (附带答案)

大学计算机 C语言期末复习题(一) (附带答案)

大学计算机C语言期末复习题(一)《附带答案》一、单项选择题1. 以下不正确的C语言标识符是()。

A. ABC B. abc C. a_bc D. ab.c 2.以下正确的C语言标识符是()。

A. %k B. a+b C. a123 D. test!3. 一个C程序的执行是从()。

A.main( )函数开始,直到main( )函数结束B.第一个函数开始,直到最后一个函数结束C.第一个语句开始,直到最后一个语句结束D.main( )函数开始,直到最后一个函数结束4. 在C程序中,main( )的位置()。

A.必须作为第一个函数B.必须作为最后一个函数C.可以任意D.必须放在它所调用的函数之后5.C语言源程序的基本单位是()。

A.过程 B.函数 C.子程序 D.标识符6.以下结果为整数的表达式(设有int i;char c;float f;)( ).A.i+fB.i*cC.c+fD.i+c+f7.以下不正确的语句(设有int p,q)是()。

A.p*=3; B.p/=q; C.p+=3; D.p&&=q;8.以下使i的运算结果为4的表达式是()。

A.int i=0,j=0; (i=3,(j++)+i);B. int i=1,j=0; j=i=((i=3)*2);C. int i=0,j=1; (j==1)? (i=1): (i=3);D. int i=1,j=1; i+=j+=2;9.设char ch;以下正确的赋值语句是()。

A.ch='123'; B.ch='\xff'; C.ch='\08'; D.ch="\";10.设n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。

A.0 B.3 C.2 D.1 11.逗号表达式(a=3*5,a*4),a+15的值为(),a的值是()。

①A.15 B.60 C.30 D.不确定②A.60 B.30 C.15 D.9012.如果a=1,b=2,c=3,d=4,则条件表达式a<b?a:c<d?c:d的值为( ).A.1 B.2 C.3 D.413.设int n=3;则++n的结果是(),n的结果是()。

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

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

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

2、以下能正确表示八进制整数的是()A 0o123B 0123C 0x123D 123答案:B解释:在 C 语言中,八进制整数以数字 0 开头,所以 0123 是八进制整数。

3、以下变量定义中,合法的是()A int a=b=1;B char a='\0';C float 2a;D double a&;答案:B解释:A 选项中不能连续赋值;C 选项变量名不能以数字开头;D 选项变量名不能包含特殊字符&。

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

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

6、以下关于函数的叙述中,正确的是()A 函数可以嵌套定义B 函数可以嵌套调用C 函数可以没有返回值D 以上都不对答案:C解释:函数不能嵌套定义,但可以嵌套调用。

函数可以没有返回值,此时函数类型为 void 。

7、若有以下函数定义:```cint fun(int a, int b){return a + b;}```则调用 fun(1, 2)的返回值是()A 1B 2C 3D 4答案:C解释:函数 fun 实现了两个整数的相加,所以 fun(1, 2)的返回值是3 。

8、以下关于指针的叙述中,错误的是()A 指针可以指向变量B 指针可以指向数组C 指针可以指向函数D 指针不可以进行加减运算答案:D解释:指针可以进行加减运算,但运算的结果要根据指针所指向的数据类型来确定。

四川大学c语言考试题及答案

四川大学c语言考试题及答案

四川大学c语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中变量的描述,不正确的是:A. 变量名必须以字母开头B. 变量名可以包含下划线C. 变量名区分大小写D. 变量名不能以数字开头答案:D2. 在C语言中,用于定义一个字符型变量的关键字是:A. charB. intC. floatD. double答案:A3. 下列哪个选项不是C语言中的运算符?A. %B. &&C. =D. :答案:D4. 在C语言中,用来表示逻辑“与”的运算符是:A. &&B. ||C. !D. ^答案:A5. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. whileD. case答案:D6. 在C语言中,用于定义一个整型数组的语法是:A. int array[10];B. int array[];C. int [10] array;D. int array;答案:A7. 下列哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A8. 在C语言中,用于定义一个函数的关键字是:A. functionB. defineC. defD. void答案:D9. 下列哪个选项不是C语言中的预处理指令?A. #includeB. #defineC. #ifD. switch答案:D10. 在C语言中,用于表示“或”逻辑运算的运算符是:A. ||B. &&C. ==D. !=答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是____。

答案:int2. 在C语言中,______运算符用于比较两个值是否相等。

答案:==3. C语言中,用于定义一个字符串的语法是____。

答案:char str[] = "Hello";4. 在C语言中,____运算符用于计算两个数的和。

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

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

C语言程序设计期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,下列哪个选项是合法的数据类型?A. intB. floatC. characterD. string2. 关于C语言中的变量,以下哪个说法是正确的?A. 变量可以在程序中的任何位置声明B. 变量在使用前必须先声明C. 变量不能重复声明D. 变量的作用域可以是全局的,但不能是局部的3. 在C语言中,以下哪个操作符用于取模?A. %B. /C.D. &4. 下面哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()5. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. class二、填空题(每题2分,共20分)6. 在C语言中,标准输入输出头文件是_________。

7. 一个整型变量占用_________个字节。

8. 如果一个整型变量声明为`int a = 5;`,那么`printf("%d", a++);`的输出是_________。

9. 在C语言中,函数返回值的类型默认是_________。

10. 指针是一种特殊类型的变量,用于存储_________的地址。

三、编程题(共40分)11. 编写一个C程序,实现一个简单的计算器,包括加、减、乘、除四种运算。

12. 编写一个C程序,实现一个函数,该函数接受一个整数数组和一个整数n,返回数组中与n相等的元素个数。

13. 编写一个C程序,实现一个结构体`Student`,包含学生的姓名、学号和成绩。

编写一个函数,输入学生的信息并打印出来。

### 答案一、选择题答案1. A. int2. B. 变量在使用前必须先声明3. A. %4. A. malloc()5. A. struct二、填空题答案6. stdio.h7. 48. 59. int10. 变量三、编程题答案11. 计算器程序示例:```c#include <stdio.h>int main() {char operator;double firstNumber, secondNumber;printf("Enter an operator (+, -, , /): ");scanf("%c", &operator);printf("Enter two operands: ");scanf("%lf %lf", &firstNumber, &secondNumber);switch(operator) {case '+':printf("%.1lf + %.1lf = %.1lf", firstNumber, secondNumber, firstNumber + secondNumber);break;case '-':printf("%.1lf - %.1lf = %.1lf", firstNumber, secondNumber, firstNumber - secondNumber);break;case '':printf("%.1lf %.1lf = %.1lf", firstNumber, secondNumber, firstNumber secondNumber);break;case '/':if(secondNumber != 0.0)printf("%.1lf / %.1lf = %.1lf", firstNumber, secondNumber, firstNumber / secondNumber);elseprintf("Divide by zero situation.");break;default:printf("Error! operator is not correct");}return 0;}```12. 数组中与n相等的元素个数函数示例:```c#include <stdio.h>int countOccurrences(int arr[], int n, int size) {int count = 0;for (int i = 0; i < size; i++) {if (arr[i] == n) {count++;}}return count;}int main() {int arr[] = {1, 2, 3, 4, 5, 2, 2};int n = 2;int size = sizeof(arr) / sizeof(arr[0]);int count = countOccurrences(arr, n, size);printf("Number of occurrences of %d is %d", n, count);return 0;}```13. 学生信息结构体及打印函数示例:```c#include <stdio.h>typedef struct {char name[50];int studentID;float grade;} Student;void printStudentInfo(Student student) {printf("Name: %s\n", );printf("Student ID: %d\n", student.studentID); printf("Grade: %.2f\n", student.grade);}int main() {Student student;printf("Enter name: ");scanf("%s", );printf("Enter student ID: ");scanf("%d", &student.studentID); printf("Enter grade: ");scanf("%f", &student.grade);printStudentInfo(student);return 0;}```。

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

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

大一第一学期c语言期末考试试题及答案一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是:A. varB. defineC. intD. let答案:C2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. _variableD. variable!答案:B3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello, World!"D. 'Hello, World!'答案:A4. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C5. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. stringD. char答案:C6. 在C语言中,以下哪个函数用于计算并返回两个数的最大值?A. max()B. min()C. abs()D. sqrt()答案:A7. C语言中,以下哪个关键字用于声明一个函数?A. defineB. functionC. intD. void答案:D8. 在C语言中,以下哪个关键字用于声明一个无限循环?A. forB. whileC. do-whileD. switch答案:B9. 在C语言中,以下哪个关键字用于声明一个数组?A. arrayB. listC. vectorD. int[]答案:D10. 在C语言中,以下哪个函数用于输出格式化的字符串?A. printf()B. scanf()C. sprintf()D. fprintf()答案:A二、填空题(每题3分,共15分)1. 在C语言中,用于声明一个整型变量的关键字是________。

答案:int2. C语言中,用于声明一个字符型变量的关键字是________。

答案:char3. 在C语言中,用于声明一个浮点型变量的关键字是________。

四川大学2011年C语言期末试题A

四川大学2011年C语言期末试题A
4.以下描述正确的是。
A)C语言的函数允许嵌套定义B)C语言编译时不检查语法
C)C语言所有函数都是外部函数D)C语言中转义字符以”\”开头
5.以下叙述中错误的是______。
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到“见名知意”
C)用户所定义的标识符必须以字母或下划线开头
D)用户定义的标识符中,大、小写字母代表不同标识
35.若程序中定义了以下函数:
double myadd (double a,double b)
{return (a+b);}
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是。
A)double myadd (double a,b); B)double myadd (double,double);
D) for、while和do-while循环中的循环体均可以由空语句构成
21.在下列描述中,正确的一条是。
A)if(表达式)语句中,表达式的类型只限于逻辑表达式
B)语句“goto 12;”是合法的
C)for(;;)语句相当于while(1)语句
D)break语句可用于程序的任何地方,以终止程序的执行
struck 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;
本题8页,本页为第5页
教务处试题编号:
学号:姓名
二.写出下列程序的运行结果(6小题,每题4或5分,共25分)
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.设有定义:“FILE *fp;”,请将以下打开文件的语句补充完整,以便可以向文本文件的最后续写内容。
fp = fopen)("", "");
5.已有定义:“int *p;”,请写出完整的语句,利用malloc函数使p指向一个整型的动态存储单元。
6.声明外部变量的关键字是extrun。
7.int类型的变量的值只能是所指定的若干名字之一。
@D)程序的执行是从Fra bibliotek序的第一个函数开始,在程序的最后一个函数中结束
2.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是B。
A)字母B)减号C)数字字符D)下划线
3.下列定义变量的语句中错误的是C。
A)int _if;B)double If;C)char forchD)float x&;
4.以下选项中可作为C语言合法常量的是A。
一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其号码填在题干后的括号内。每小题1分,共16分)
1.对于一个正常运行的C程序,以下叙述中正确的是A。
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行是从程序的第一个函数开始,在main函数结束
C)程序的执行是从main函数开始,在程序的最后一个函数中结束
A)(E!=0)B)(E>0 || E<0)C)(E==0)D)(!E==0)
9.以下数组定义中错误的是B。
$
A)int x[][3]={0,1,2,3};
B)int x[2][3]={{1,2}, {3,4}, {5,6}};
C)int x[][3]={{1,2,3},{4,5,6}};
D)int x[2][3]= {1,2,3,4,5,6};
floats=0;
for (i = 0; i < n; i++)
s=s+[5];

returns /[6];
}
int main(void)
{
int i, a[5] = {2, 4, 6, 8, 10};
float mean;
mean = average(a, 5);
printf("mean=%f\n", mean);
14.以下叙述中正确的是。
A)在源文件的一行上可以有多条预处理命令
B)宏名必须用大写字母表示

C)宏替换不占用程序的运行时间
D)前面都是错语的
15.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为。
A)EOFB)1C)0D)NULL
16.以下叙述中错误的是。
A)改变函数形参的值,不会改变对应实参的值
10.在C语言中,函数返回值的类型最终取决于。
A)函数定义时的函数首部所说明的函数类型
B)return语句中表达式值的类型
C)调用函数时的实参的类型
D)函数定义时形参的类型
11.设已有定义:“float a;”,则以下对指针变量p进行定义且赋初值的语句中正确的是。

A)float *p = 1068;B)int *p= (int)a;
}
运行结果是:
4.有以下程序:
#include <>
double fun1(double a) { return a * a; }
|
int fun2(double x, double y)
{
double a = fun1(x), b = fun1(y);
return a + b;
}
int main(void)
13.若有以下说明和定义:
union dt
{
short int a;
char b;

double c;
} data;
以下叙述中错误的是。
A) data的每个成员起始地址都相同
B)变量data所占的内存字节数与成员c所占字节数相等
C)程序段“=6;printf("%f\n ",;”输出结果为
D) data可以作为函数的实参
printf("%d\n", t);
return 0;
}
2.以下程序调用invert函数按逆序重新放置a数组中元素的值。a数组中元素的值在main函数中读入。将程序补充完整。
#include<>
{
#define N 10
void invert(int s[], int i, int j)
{
if (i < j)
{
int t= s[i];
s[i] = s[j];
s[j] = t;
invert(s,[3],j-1);
}

}
int main(void)
{
int a[N], i;
for (i = 0; i < N; i++)
scanf("%d",[4]);/*输入a[i] *//
invert(a, 0, N - 1);
C)a && bD)a || b
7.下列叙述正确的是D。
A)break语句只能用于switch语句
B)break语句只能用于循环语句
C)break语句必须与switch语句中的case配对
D)break语句可用于switch语句和循环语句中
8.在以下给出的表达式中,与while(E)中的“(E)”不等价的表达式是C。
return 0;
}
运行结果是:
1.以下程序的功能是:输出a、b、c三个变量中的最小值。将程序补充完整。
#include <>
int main(void)
#
{
int a, b, c, t1, t;
scanf("%d%d%d", &a, &b, &c);
t = a < b[1];
t = c < t[2];
A)-80B)-0819C)D)
5.以下能正确定义且赋初值的语句是。
A)int a=b=16;B)char c=97;
C)float x=x+;D)double x=设有定义:“int a=1,b=6,c=8;”,则以下选项中值为0的表达式是。

A)(!a==1)&&(!b==0)B)(a<b)&& !c || !0
while (--k) printf("%d", k -= 4);
return 0;
}
运行结果是:
3.有以下程序:
#include <>
int main(void)
"
{
int i = -1;
do printf("%d", i); while (++i);
printf("%d\n", i);
return 0;
1.有以下程序:

#include <>
int main(void)
{
char al = 'M', a2 = 'm', a3 = 'u';
printf("%c\n", (al, a2, a3));
return 0;
}
运行结果是:
2.有以下程序:
#include <>
&
int main(void)
{
int k = 6;
B)函数可以返回地址值
C)可以给指针变量赋一个整数作为地址值
D)函数的形参可为指针类型
~
1.已定义“char ch=6;int i=6,j;”,执行“j=ch || i++”以后,i的值为。
2.设有定义语句:“int a[][8]={{0},{1},{2}};”,则数组元素a[1][2]的值为。
3.已知int a=3,a的地址为1008,则&a=。
C)float p=&a;D)float *p=&a;
12.若有说明语句:“float *p,a;”,则能通过scanf语句正确给输入项读入数据的程序段是。
A)*p=&a; scanf("%f",p);B)*p=&a; scanf("%lf",p);
C)p=&a; scanf("%f",*p);D)p=&a; scanf("%f",p);
return 0;
}
1.输入一行字符,统计其中有多少个单词,单词之间用空格分隔开。
2.编程实现从键盘上输入一个字符串,把此字符串中的小写字母转换成大写字母,输出到文件中,然后从该文件读出字符串并显示出来。
{
int w = fun2, ;
printf("%d\n", w);
return 0;

}
运行结果是:
5.有以下程序:
#include <>
int f(int n)
{
if (n == 1) return 1;
else return n + f(n - 1);
}
int main(void)
>
{
printf("%d\n", f(5));
return 0;
}
运行结果是:
6.有以下程序:
#include <>
相关文档
最新文档