C语言期末考试题库(第一章 c语言基

合集下载

大一期末c语言复习题库

大一期末c语言复习题库

大一期末c语言复习题库C语言作为计算机科学与技术专业学生的一门基础课程,对于理解计算机程序设计的原理和思想具有重要意义。

以下是为大一学生准备的C语言期末复习题库,涵盖了C语言的基本概念、数据类型、控制结构、数组、函数、指针、结构体、文件操作等重要知识点。

# 一、基本概念1. 解释C语言的特点。

2. 描述C语言的基本结构,包括预处理指令、函数、语句和注释。

3. 列举C语言中的基本数据类型,并解释它们的区别。

# 二、变量与数据类型1. 什么是变量?如何声明变量?2. 解释整型(int)、浮点型(float)、双精度型(double)和字符型(char)的区别。

3. 写出C语言中不同数据类型所占的存储空间大小。

# 三、运算符与表达式1. 列举C语言中的算术运算符,并给出示例。

2. 描述赋值运算符的用法。

3. 解释条件运算符(?:)的用法。

# 四、控制结构1. 描述if语句的用法,并给出一个例子。

2. 解释while循环和do-while循环的区别。

3. 写出for循环的一般形式,并解释其组成部分。

# 五、数组1. 什么是数组?数组有哪些类型?2. 如何声明和初始化一维数组和二维数组?3. 写出一个程序,实现冒泡排序算法。

# 六、函数1. 解释函数的定义和声明。

2. 描述函数参数的传递方式(值传递和引用传递)。

3. 写出一个自定义函数,实现求最大值的功能。

# 七、指针1. 解释指针的概念和用途。

2. 写出一个程序,使用指针交换两个变量的值。

3. 解释指针数组和数组指针的区别。

# 八、结构体1. 什么是结构体?如何定义结构体?2. 写出一个程序,使用结构体存储学生信息。

3. 解释结构体指针的用法。

# 九、文件操作1. 解释文件的概念和分类。

2. 描述文件的打开、关闭、读写操作。

3. 写出一个程序,实现将数据写入文件,并从文件中读取数据。

# 十、综合应用1. 编写一个程序,实现学生成绩管理系统,包括录入、查询、修改和删除功能。

c语言基础期末考试题及答案

c语言基础期末考试题及答案

c语言基础期末考试题及答案C语言基础期末考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个是合法的字符常量?A. 'A'B. "A"C. 123D. A答案:A2. 下列哪个选项是C语言中的关键字?A. intB. IntegerC. StringD. float答案:A3. 以下哪个语句可以正确地声明一个整型数组?A. int arr[10];B. int [10] arr;C. int arr = 10;D. int arr(10);答案:A4. 在C语言中,哪个运算符用于计算两个数的乘方?A. *B.C. /D. %答案:B5. 以下哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. 在C语言中,哪个函数用于计算一个数的平方根?A. sqrt()B. pow()C. log()D. abs()答案:A7. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. do-while答案:C8. 在C语言中,以下哪个是正确的函数定义?A. int function(int x) { return x * x; }B. int function(int x) { return sqrt(x); }C. void function(int x) { return x; }D. int function(int x) { return x / 0; }答案:A9. 在C语言中,哪个关键字用于定义指针类型?A. intB. charC. floatD. *答案:D10. 下列哪个选项是C语言中的数组初始化方式?A. int arr[] = {1, 2, 3};B. int arr = {1, 2, 3};C. int arr[3] = {1, 2, 3};D. int arr[3] = 1, 2, 3;答案:A二、填空题(每空2分,共20分)1. 在C语言中,____ 是最基本的数据单位。

C语言期末参考试题1

C语言期末参考试题1

大学C语言期末考试题及答案(1)1、构成C语言的基本单位是_______。

A.过程B.函数C.语句D.命令2、设x为整型变量,不能正确表达数学关系:5<x<10的c语言表达式是_____。

A. 5B.x>5&&x<10C.x==6||x==7||x==8||x==9D.!(x<=5)&&(x<10)3、在C语言中,逻辑运算符的优先级从高到低的排列顺序为_____。

A.&&、||、!B.||、&&、!C.&&、!、||D.!、&&、||4、下面语句中,正确的是_____。

A.printf("%c\n","student");B.printf("%c\n","c");C.printf("%s\n",&a);D.printf("%s\n","hello");5、对于for(表达式1;;表达式3)可以理解为_____。

A.for(表达式1;0;表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)6、执行下面程序段的结果是_____。

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=1B.a=2,b=1C.a=1,b=0D.a=2,b=27、执行下面程序段的结果是_____。

int x=0; do { printf(“-”,x--); }while(x);A.打印出321B.打印出23C.不打印任何结果D.陷入死循环8、设x=10,y=5;z=15,执行下面一段程序后z的结果是_____。

C语言期末考试题(含答案)

C语言期末考试题(含答案)

C语言期末考试题(含答案)《C语言程序设计》期末试卷一、单项选择题(10x2’=20’)1、以下叙述正确的是()A)C语言的源程序不必通过编译就可以直接运行。

B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令。

C)C语言源程序经编译形成的二进制代码可以直接运行。

D)C 语言中的函数不可以单独进行编译。

2、一个C语言的源程序中()A)必须有一个主函数B)可能有多个主函数C)必须有除主函数外其它函数D)可以没有主函数3、以下不能定义为用户标识符的是()A)scanfB)VoidC)_3comD)int4、若以下选项中的变量已正确定义,则正确的赋值语句是()A)x1=26.8%3;B)1+2=x2;C)x3=0x12;D)x4=1+2=3;15、设有定义:floata=2,b=4,h=3;以下C语言表达式中与代数式(a b)*h的计2算结果不相符的是().C)for、while、do-whileD)if、for、continue7.在while(!x)语句中的!x与下面条件表达式等价的是()A) x!=0B) x==1C)x!=1D)x==08、有以下程序:#include <XXX>void main(){int i=1,j=1,k=2;if( (j++||k++)&&i++ )printf(“%d,%d,%d\n”,i,j,k);}执行后的输出结果是()A)1,1,2B)2,2,1C)2,2,2D)2,2,39、有以下程序:#include <XXX>void main(){int i,s=0;for(i=1;i<10;i+=2)s+=i+1;printf(“%d\n”,s);}程序执行后的输出结果是()A)自然数1~9的累加和B)自然数1~10的累加和C)自然数1~9中奇数之和D)自然数1~10中偶数之和10、有以下函数定义:void fun(int n,double x){……}若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(int y,double m);B)k=fun(10,12.5);C)fun(x,n);D)void fun(n,x);2、填空题(10x2’=20’)11、C言语描绘“x和y都大于或等于z”的表达式是:。

c语言期末测试题(附答案)

c语言期末测试题(附答案)

《计算机技术基础(C语言)》试卷A 姓名:学号: 专业:学院: 班级:20 年月日第一部分选择题(共 30 分)Array一、单项选择题(本大题共 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,*456783、判断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〈c) D)(!(a+b)==c&&a)5、已知:int a[2][3]; 则对数组元素的非法引用是【】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)18、若有int *p1, *p2,k; 不正确的语句是【】A。

c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案

c语言大一期末考试题库及详解答案C语言大一期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言的关键字?A. IntegerB. StringC. FloatD. None of the above答案:D2. 在C语言中,定义一个整型变量的正确语法是什么?A. int var;B. var int;C. integer var;D. var integer;答案:A3. 以下哪个表达式的结果不是整数?A. 3 / 2B. 7 % 3C. 10 / 2D. 8 / 2答案:A二、填空题1. 在C语言中,用于定义数组的关键字是________。

答案:Array2. 一个C语言程序的执行从________函数开始。

答案:main3. 以下语句的输出结果是________。

```cint a = 5, b = 10;printf("%d", a + b);```答案:15三、简答题1. 简述C语言中指针的概念及其用途。

答案:指针是C语言中用来存储变量地址的变量。

它允许程序员直接访问内存地址,从而可以动态地操作内存。

指针的用途包括动态内存分配、实现数据结构如链表、数组的遍历等。

2. 解释C语言中的函数重载。

答案:C语言不支持函数重载。

在C语言中,如果两个或多个函数具有相同的名称但参数列表不同,编译器会报错。

这是与支持函数重载的语言(如C++)的主要区别。

四、编程题1. 编写一个C语言程序,实现计算并输出1到100的整数之和。

```c#include <stdio.h>int main() {int sum = 0, i;for(i = 1; i <= 100; i++) {sum += i;}printf("The sum of numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串反转的功能。

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

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

c语言期末考试题库大题及详解答案C语言期末考试题库大题及详解答案一、简答题1. 请简述C语言的基本数据类型及其特点。

答案:C语言的基本数据类型包括整型(int)、浮点型(float和double)、字符型(char)和枚举型(enum)。

整型用于存储整数,浮点型用于存储小数,字符型用于存储单个字符,枚举型用于定义一组命名的常量。

每种数据类型都有其特定的取值范围和占用内存大小。

2. 请解释C语言中的数组和指针的区别。

答案:数组是一种数据结构,用于存储固定数量的相同类型元素,可以通过下标访问元素。

指针是一个变量,它存储另一个变量的内存地址。

数组名可以作为指向数组第一个元素的指针使用,但数组本身是一个固定大小的内存块,而指针可以被赋值为不同的地址,具有动态性。

二、编程题1. 编写一个C语言程序,实现输入三个整数,找出其中的最大值并输出。

答案:```c#include <stdio.h>int main() {int num1, num2, num3, max;printf("请输入三个整数:");scanf("%d %d %d", &num1, &num2, &num3);max = (num1 > num2) ? ((num1 > num3) ? num1 : num3) : ((num2 > num3) ? num2 : num3);printf("最大值是:%d\n", max);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

答案:```c#include <stdio.h>#include <string.h>int main() {char str[100];printf("请输入一个字符串:");fgets(str, sizeof(str), stdin); // 使用fgets以包含空格int len = strlen(str) - 1; // 减去换行符长度for (int i = len; i >= 0; --i) {printf("%c", str[i]);}printf("\n");return 0;}```三、综合题1. 请编写一个C语言程序,实现一个简单的计算器,能够进行加、减、乘、除四种基本运算。

C语言期末考试题库(第一章c语言基.doc

C语言期末考试题库(第一章c语言基.doc

一、单项选择1.算术运算符 ,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为 ().A、关系运算 ,赋值运算 ,算术运算B、算术运算 ,关系运算 ,赋值运算C、算术运算 ,赋值运算 ,关系运算D、关系运算 ,算术运算 ,赋值运算答案: B2.下述正确的 C语言常量是 :().A、E2B、3e-3C、1.5E2.5D、5.0E答案: B3.使用共用体变量 ,不可以 ().A、进行动态管理B、节省存储空间C、同时访问所有成员D、简化程序设计答案: C4.为表示关系 x>=y>=z,应使用 C语言表达式为 :()A、(x>=y)&(y>=z)B、(x>=y>=z)C、(x>=y)&&(y>=z)D、(x>=y)AND(y>=z)答案: C5.以下程序的输出结果是().main(){char str[]="ABCD",*p=str;printf("%s\n",p);}A、68B、ABCDC、不确定的值D、字符 D 的地址答案: B6.char a[10];不能将字符串 "abc"存储在数组中的是 ().A、a="abc";B、a[0]=0;strcat(a,"abc");C、int i;for(i=0;i<3;i++)a[i]=i+97;a[i]=0;D、strcpy(a,"abc");答案: A7.fscanf 函数的正确调用形式是 ().A、fscanf(文件指针 ,格式字符串 ,输入表列 );B、fscanf(格式字符串 ,文件指针 ,输出表列 );C、fscanf(fp,格式字符串 ,输出表列 );D、fscanf(格式字符串 ,输出表列 ,fp);答案: A8.下列数组说明中正确的是().A、int array[][]={1,2,3,4,5,6,7,8,9,10};B、int array[][][5]={1,2,3,4,5,6,7,8,9,10};C、int array[][4]={1,2,3,4,5,6,7,8,9,10};D、int array[3][]={1,2,3,4,5,6,7,8,9,10};答案: C9.以下选项中 ,与 k=n++完全等价的表达式是 ().A、n=n+1,k=nB、k+=n+1C、k=++nD、k=n,n=n+1答案: D10.针对下列程序段回答问题().for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}A、printf 函数永远也不执行B、当 x<0 时整个循环结束C、x>=0 时什么也不输出D、最多允许输出100 个非负整数答案: D11.以下正确的字符串常量是()A、"\\\"B、'A'C、'abc'D、OlympicGames答案: A12.如下说法不正确的是 ().A、若 a 为真 b 为假 ,则 a||b 为真B、若 a 为真 b 为假 ,则 a&&b 为假C、若 a 为真 b 为假 ,则! a-1&&b 为真D、若 a 为真 ,则! a 为假答案: C13.C 语言中 ,用于结构化程序设计的三种基本结构是().A、for,while ,do-whileB、顺序结构 ,选择结构 ,循环结构C、if,switch,breakD、if,for,continue答案: B14.若有以下的定义 :int t[3][2]; 能正确表示 t 数组元素地址的表达式是().A、t[3]B、t[2]C、&t[3][2]D、&t[1]答案: B15.下列运算符中优先级最高的是().A、<B、&&C、+D、!=答案: C16.C 语言程序中 ,必须有的函数是 ().A、main()B、#include"stdio.h"C、scanfD、printf答案: A17.已定义 char a[10];和 char *p=a;,下面的赋值语句中正确的是 ().A、*p="Turbo c";B、p="Turbo c";C、a[10]="Turbo c";D、a="Turbo c";答案: B18.以下叙述正确的是 ().A、可以把 if 定义为用户标识符 ,但不能把 define 定义为用户标识符B、define 和 if 都不能定义为用户标识符C、可以把 define 和 if 定义为用户标识符D、可以把 define 定义为用户标识符 ,但不能把 if 定义为用户标识符答案: D 19.若已定义 x 为 int 类型变量 ,下列语句中 ,说明指针变量 p 的正确语句是 (). A、*p=*x;B、int *p=x;C、int *p=&x;D、int p=&x;答案: C20.以下叙述中 ,正确的是 ().A、花括号 "{" 和"}"只能作为函数体的定界符B、构成 C 程序的基本单位是函数 ,所有函数名都可以由用户命名C、分号是 C 语句之间的分隔符 ,不是语句的一部分D、C 程序中 ,注释部分可以出现在程序中,任意合适的地方答案: D21.以下能对二维数组 a 进行正确初始化的语句是().A、int a[][3]={{1,2,3},{4,5,6}};B、int a[2][]={{1,0,1},{5,2,3}};C、int a[2][4]={{1,2,3},{4,5},{6}};D、int a[][3]={{1,0,1}{},{1,1}};答案: A22.C 语言中 ,double 类型数据占 ().A、8 个字节B、4 个字节C、2 个字节D、1 个字节答案: A23.经过下列的语句 int j,a[10],*p= a;定义后 ,下列语句中 ,合法的是 ().A、p=a[5];B、p=a[2]+2;C、p=p+2;D、p=&(j+2);答案: C24.定义 char s[10],*p=s;,则下面编译不能通过的语句是().A、s=p+s;B、s[2]=p[4];C、p=s+5;D、*p=s[0];答案: A25.以下函数调用语句中 ,实参的个数是 ().exce((v1,v2),(v3,v4,v5),v6);A、3B、4C、5D、6答案: A26.若 x=2,y=3,则 x||y 的结果是 ()A、0B、3C、2D、1答案: D27.已知 x=43,ch='A',y=0;,则表达式 (x>=y&&ch<'B'&&!y)的值是 ().A、"假"B、语法错C、0D、1答案: D28.下面四个选项中均是不合法的浮点数的选项是().A、-e3.234 1e3B、123 2e4.2.e5C、-.18 123e4 0.0D、160.0.12 e3答案: B29.以下函数调用语句中 ,实参的个数是 ().fun c((e1,e2),(e3,e4,e5));A、3B、5C、语法错误D、2答案: D30.已定义 :float x=1.25,y=3.37;根据下面的输出结果 ,正确的输出语句是 (). y+x=4.62,y-x=2.12A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);B、printf("y+x=%f,y-x=%f\n",y+x,y-x);C、printf("y+x=%6f,y=%6f\n",y+x,y-x);D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);答案: A31.执行下面程序段后 ,ch 的值是 ().char ch='a';ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A、AB、zC、ZD、a答案: D32.在 C 语言的函数中 ,下列正确的说法是 ().A、数组名不能作形参B、可以有也可以没有形参C、形参必须是变量名D、必须有形参答案: B33.以下正确的描述是 ().A、在循环中 ,break 语句不能独立出现B、只能用 continue 语句来终止本次循环C、goto 语句只能用于退出多层循环D、switch 语句中 ,不能出现 continue 语句答案: B34.C 语言中 ,运算对象必须是整型的运算符是().A、〈 =B、%=C、=D、/答案: B35.下面不正确的字符串常量是().A、"0"B、""C、"12'12"D、'abc'答案: D36.fwrite 函数的一般调用形式是 ().A、fwrite(buffer,count,size,fp);B、fwrite(fp,count,size,buffer);C、fwrite(fp,size,count,buffer);D、fwrite(buffer,size,count,fp);答案: D37.以下定义语句中错误的是().A、int a[]={1,2};B、int n=5,a[n];C、char *a[3];D、char s[10]="test";答案: B38.下列正确的标识符是 ().A、%yB、a+bC、6aD、_do答案: D39.C 语言源程序的基本单位是().A、子程序B、过程C、标识符D、函数答案: D40.若变量已正确定义 ,执行语句 scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入A、20 30 40B、2030,40C、20,30,40D、20,30 40答案: C41.设有如下程序 ,请选择正确答案 ().#include<stdio.h>main(){int **k,*j,i=100;j=&i,k=&j;printf("%d\n",**k);}A、100B、i 的地址C、j 的地址D、运行错误答案: A42.若定义 :int a=511,*b=&a;,则 printf("%d\n",*b); 的输出结果为 ().A、a 的地址B、无确定值C、511D、512答案: C43.以下叙述中 ,不正确的是 ().A、C程序中的 #include 和#define 均不是 C 语句B、在 C 程序中 ,赋值运算符的优先级最低C、在 C程序中 ,j++;是一条赋值语句D、一个好的程序应该有详尽的注释答案: B44.下面叙述中错误的是 ().A、若一个函数没有return 语句 ,则什么值也不会返回B、一般来说 ,函数的形参和实参的类型要一致C、函数的形式参数 ,在函数未被调用时就不被分配存储空间D、若函数的定义出现在主调函数之前,则可以不必再加说明答案: A45.设有如下程序段 :int k=10;while(k==0)k--;,则下述说明中正确的是 ().A、循环体执行一次B、死循环C、循环体一次也不执行D、循环体执行10 次答案: C46.表示关系 x>0 且 y<=10 的 C 语言表达式为 ().A、(x<=0)AND(y<=10)B、(x>0)&&(y<=10)C、x>0,y<=10D、(x<=0)&(y<=10)答案: B47.以下叙述不正确的是 ().A、C程序的基本组成单位是函数B、在 C 程序中 ,注释说明只能位于一条语句的后面C、一个 C源程序可由一个或多个函数组成D、一个 C 源程序必须包含一个main()函数答案: B48.C 语言提供的合法的数据类型关键字是().A、floatB、unsignedC、charD、int eger答案: B49.所有变量均为整型 ,则表达式 (a=2,b=5,b++,a+b)的值是 :().A、6B、7C、8D、2答案: C50.以下符合 C语言语法的赋值表达式是().A、d=9+e+f=d+9B、d=9+e,e++,d+9C、d=9+eD、d=9+e++=d+7答案: C51.下面对函数的叙述 ,正确的是 ().A、函数中无论是否有return 语句 ,都能返回正确值B、函数中没有 return 语句 ,说明不带回值C、函数不能嵌套定义D、函数的返回值是通过return 语句获得的答案: C52.整型变量 x=1,y=3,经下列计算后 ,x 的值不等于 6 的是 ().A、x=(x=1+2,x*2)B、x=9-(--y)-(--y)C、D、x=y>2?6:5答案: B53.设 x,y,z,t 均为整型变量 ,则执行以下语句后 ,t 的值为 :() x=y=z=1;t=++x||++y&&++z;B、不定值C、2D、0答案: A54.下列字符序列中不可用作 C 语言标识符的是 ().A、a_1B、#abC、symbolD、b70答案: B55.C 语言执行程序的开始执行点是().A、包含文件中的第一个函数B、程序中 ,第一个函数C、程序中的 main()函数D、程序中 ,第一条可以执行语言答案: C56.下列运算符优先级最低的是().A、&&B、+C、=答案: C57.下面所列的语句行中能正确进行赋字符串操作的语句行是 ().A、char st[4][5]={"ABCDE"};B、char s[5]={'A','B','C','D','E'};C、char *s;scanf("%c",s);D、char *s;s="ABCDE";答案: D58.以下正确的函数定义形式是().A、double fun(int x,int y)B、double fun(int x;int y)C、double fun(int x,y);D、double fun(int x,int y);答案: A59.下列变量中合法的是 ().A、$ABCB、B.C.TomC、3a6bD、_6a7b答案: D60.以下标识符中可以作为用户函数名的是().A、unionB、intC、structD、go_to答案: D61.判断两个字符串是否相等,正确的表达方式是 ().A、while(strcmp(s1,s2)=0)B、while(strcmp(s1,s2)==0)C、while(s1==s2)D、while(s1=s2)答案: B62.下面各语句中能正确进行赋字符串操作的语句是().A、char st[][]={"ABCDE"};B、char s2[6]={'A','B','C','D','E'};C、char s1[5][]={"ABCDE"};D、char s[5]={'A','B','C','D','E'};答案: B63.下列数据中属于 "字符串常量 "的是 ().A、'ABC'B、ABCC、"ABC"D、'A'答案: C64.C 语言中的文件的存储方式有().A、可以顺序存取 ,也可随机存取B、只能随机存取 (或直接存取 )C、只能顺序存取D、只能从文件的开头进行存取答案: A65.putchar 函数可以向终端输出一个().A、字符或字符型变量值B、整型变量表达式值C、实型变量值D、字符串答案: A66.下面叙述中正确的是 ().A、声明函数时必须明确其参数类型和返回类型B、函数可以返回一个值,也可以什么值也不返回C、空函数在不完成任何操作,所以在程序设计中没有用处D、对于用户自己定义的函数,在使用前必须加以声明答案: B67.以下标识符中不能作为合法的 C 用户定义标识符的是 ().A、_123B、voidC、ifD、a3_b3答案: B68.将字符串 Turbo 赋给字符数组 word,则下面错误的说明语句是 ().A、char word[]={"Turbo\0"};B、char word[]="Turbo\0";C、char word[]={'T','u','r','b','o','\0'};D、char word[]='Turbo\0';答案: D69.用下面的 scanf 函数输入数据 ,使得 i=10,j=15,选择正确的键盘输入方法:().(用[CR]表示回车 )main(){int i,j;scanf("i=%d,j=%d",&i,&j);}A、i=10,j=15[CR]B、i=10Uj=15[CR]C、10U15[CR]D、10,15[CR]答案: A70.跳过当前循环体内容 ,继续执行下一次循环的语句是()A、continue 语句B、return 语句C、break 语句D、空语句答案: A71.设有以下定义 :int a[10]={1,2,3,4,5,6,7,8,9,10};int *p=a;,则数值为 6 的表达式是 ().A、p+5B、*p+6C、*p+=5D、*(p+6)答案: C72.以下程序段执行后输出的结果是().char str[]="ABCD",*p=str;printf("%d\n",*(p+4));A、不确定的值B、字符 'D'的地址C、68D、0答案: D73.用下面的 scanf 函数输入数据 ,使得 i=10,k=15 选择正确的键盘输入方法(). (用"[CR]"表示回车 ,U 表示空格 )main(){int i,k;scanf("i=%d,k=%d",&i,&k);}A、10U15[CR]B、i=10,k=15[CR]C、i=10[CR]k=15[CR]D、10,15[CR]答案: B74.设有如下的程序段 :char str[]="Hello";char *ptr;ptr=str;执行完上面的程序段后,*(ptr+5) 的值为 ().A、'\0'B、'o'C、'o'的地址D、不确定的值答案: A75.定义 int a[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中 ,0 ≤ i ≤则对9, a 数组元素的引用不正确的是 ().A、a[p-a]B、*(&a[i])C、p[i]D、*(*(a+i))答案: D76.以下字符中 ,不是转义字符的是 ().A、'\b'B、'\\'C、'\c'D、'\a'答案: C77.设 a 为整型变量 ,不能正确表达数学关系10<a<15的 C 语言表达式是 :()A、10<a<15B、!(a<=10)&&!(a>=15)C、a>10&&a<15D、a==11||a==12||a==13||a==14答案: A78.在 C 语言中 ,存储类型为 ()的变量只在使用它们时才占用存储空间 .A、static 和 autoB、register 和 autoC、register 和 externD、static 和 register答案: B79.已知键盘输入a=4,b=3,下面程序输出的结果是().main(){int a,b,s;scanf("%d%d",&a,&b);s=a;if(a<b)s=b;s=s*s;printf("%d\n",s);}A、13B、9C、16D、1580.若要用 fopen 函数打开一个新的二进制文件,该文件要既能读也能写 ,则文件方式字符串应是().A、"ab"B、"wb+"C、"rb+"D、"ab++"答案: B81.设有如下说明和语句 ,请选出哪个是对 c 数组元素的正确引用 ().intc[4][5],(*cp)[5];cp=c;A、*(*cp+2)B、*(cp+3)C、cp+1D、*(cp+1)+3答案: A82.以下标识符中不能作为合法的 C 用户定义标识符的是 ().A、forB、printfC、sizeofD、WORD83.在定义构造数据类型时,不能 ().A、末尾不写分号B、说明变量C、初始化D、说明存储类型答案: A84.以下叙述中 ,错误的是 ().A、用户所定义的标识符应尽量做到"见名知意 "B、用户所定义的标识符必须以字母或下划线开头C、用户所定义的标识符允许使用关键字D、用户定义的标识符中,大,小写字母代表不同标识答案: C85.选择正确的输入语句 ().:(其中 :char string[20];)使得 string 的内容为 "Iam student".A、scanf("%s",string);B、scanf("%c",&string);C、scanf("%s",&string);D、gets(string);答案: D86.以下选项中 ,合法的实型常数是 ().A、.2E0B、1.3EC、E-3D、5E2.0答案: A87.若 int a=2,则执行完表达式 a -=a+=a*a后,a 的值是 ().A、-4B、0C、-8D、-2答案: B88.设 a,b 和 c 都是 int 型变量 ,且 a=3,b=4,c=5,下面表达式中值为0 的表达式是().A、a<=bB、'a'&&'b'C、!((a<b)&&!c||1)D、a||b+a&&b-c答案: C89.定义 char b[5],*p=b;, 则能正确赋值的语句是 ().A、*p="abcd";B、p="abcd";C、*b="abcd";D、b="abcd";答案: B90.能正确表示 a>=10 或 a<=0 的关系表达式是 :()A、a>=10||a<=0B、A>=10 or a<=0C、a>=10&a<=0D、a>=10|a<=0答案: A91.设有如下定义 :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=(struct sk*)&data.a;答案: D92.若变量已正确定义且k 的值是 4,计算表达式 (j=4,k--)后,j 和 k 的值为 ().A、j=3,k=3B、j=3,k=4C、j=4,k=4D、j=4,k=3答案: D93.当说明一个结构体变量时系统分配给它的内存是().A、结构中 ,第一个成员所需内存量B、成员中 ,占内存量最大者所需的容量C、结构中 ,最后一个成员所需内存量D、各成员所需内存量的总和答案: D94.int(*p)[6]; 它的含义为 ().A、具有 6 个元素的一维数组B、定义了一个指向具有 6 个元素的一维数组的指针变量C、指向整型指针变量D、指向 6 个整数中的一个的地址答案: B95.若有说明语句 :char c='\72';,则变量 c().A、包含 1 个字符B、说明不合法 ,c 的值不确定C、包含 2 个字符D、包含 3 个字符答案: A96.以下表述中正确的是 ().A、do-while 循环中 while 语句不能省略B、在 do-while 循环中 while 表达式的值不能为 " 假"C、除了 for 循环 ,其他循环中都不能使用复合语句D、do-while 循环中 while(表达式 )后面不能加分号答案: A97.能正确表示 a 和 b 同时为正或同时为负的逻辑表达式是:()A、(a+b>0)&&(a+b<=0)B、(a>=0||b>=0)&&(a<0||b<0)C、a*b>0D、(a>=0&&b>=0)&&(a<0&&b<0)答案: C98.下面错误的说明语句是().A、int(*a)[10];B、int a[][];C、int a['a'];D、int *a[10];答案: B99.已知字符 'A'的 ASCⅡ代码值是 65,字符变量 c1 的值是 'A',c2 的值是 'D'.执行语句 printf("%d,%d",c1,c2-2);后,输出结果是 ().A、65,66B、A,BC、A,68D、65,68答案: A100.在 C语言中 ,要求参加运算的数必须是整数的运算符是:().A、/B、!C、==D、%答案: D101.已定义 :float x=1.25,y=3.37;根据下面的输出结果 ,正确的输出语句是 ().x=1.250000,y=3.370000A、printf("x=%f,y=%f\n",x,y);B、printf("x=%8.2f,y=%8.2f",x,y);C、printf("x=%7f,y=%7f\n",x,y);D、printf("x=%-8.2f,y=%-8.2f\n",x,y);答案: A102.应用缓冲文件系统对文件进行读写操作 ,关闭文件的函数名为 ().A、fread()B、fwriteC、fclose()D、close()答案: C103.若有以下说明 ,则对结构体变量 stud1 中成员 age的不正确引用是().struct student{int age;int num;}stud1,*p;p=&stud1;A、(*p).ageB、student.ageC、p->ageD、stud1.age答案: B104.C语言中 ,以下几种运算符的优先次序()的排列是正确的 .A、由高到低为 :算术运算符 ,关系运算符 ,!,&&,||, 赋值运算符B、由高到低为 :算术运算符 ,关系运算符 ,赋值运算符 ,!,&&,||C、由高到低为 :!,算术运算符 ,关系运算符 ,&&,||, 赋值运算符D、由高到低为 :!,&&,||, 算术运算符 ,赋值运算符答案: C105.以下程序的输出结果是 ().main(){int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A、3B、1C、2D、4答案: A106.在 C语言中 ,char 型数据在内存中的存储形式是().A、补码B、ASCII码C、反码D、原码答案: B。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A、a_1
B、#ab
C、symbol
D、b70
答案:B
55.C语言执行程序的开始执行点是().
A、包含文件中的第一个函数
B、程序中,第一个函数
C、程序中的main()函数
D、程序中,第一条可以执行语言
答案:C
56.下列运算符优先级最低的是().
A、&&
B、+
C、=
D、!
答案:C
57.下面所列的语句行中能正确进行赋字符串操作的语句行是().A、char st[4][5]={"ABCDE"};
C、函数的形式参数,在函数未被调用时就不被分配存储空间
D、若函数的定义出现在主调函数之前,则可以不必再加说明答案:A
45.设有如下程序段:
int k=10;
while(k==0)
k--;
,则下述说明中正确的是().
A、循环体执行一次
B、死循环
C、循环体一次也不执行
D、循环体执行10次
答案:C
46.表示关系x>0且y<=10的C语言表达式为().
答案:C
9.以下选项中,与k=n++完全等价的表达式是().
A、n=n+1,k=n
B、k+=n+1
C、k=++n
D、k=n,n=n+1
答案:D
10.针对下列程序段回答问题().
for(t=1;t<=100;t++)
{
scanf("%d",&x);
if(x<0)continue;
printf("%3d",t);
答案:D
37.以下定义语句中错误的是().
A、int a[]={1,2};
B、int n=5,a[n];
C、char *a[3];
D、char s[10]="test";
答案:B
38.下列正确的标识符是().
A、%y
B、a+b
C、6a
D、_do
答案:D
39.C语言源程序的基本单位是().
A、子程序
B、过程
y+x=4.62,y-x=2.12
A、printf("y+x=%4.2f,y-x=%4.2f\n",y+x,y-x);
B、printf("y+x=%f,y-x=%f\n",y+x,y-x);
C、printf("y+x=%6f,y=%6f\n",y+x,y-x);
D、printf("y+x=%6.2f,y-x=%6.2f\n",y+x,y-x);
A、x=(x=1+2,x*2)
B、x=9-(--y)-(--y)
C、
D、x=y>2?6:5
答案:B
53.设x,y,z,t均为整型变量,则执行以下语句后,t的值为:()
x=y=z=1;
t=++x||++y&&++z;
A、1
B、不定值
C、2
D、0
答案:A
54.下列字符序列中不可用作C语言标识符的是().
33.以下正确的描述是().
A、在循环中,break语句不能独立出现
B、只能用continue语句来终止本次循环
C、goto语句只能用于退出多层循环
D、switch语句中,不能出现continue语句
答案:B
34.C语言中,运算对象必须是整型的运算符是().
A、〈=
B、%=
C、=
D、/
答案:B
35.下面不正确的字符串常量是().
B、d=9+e,e++,d+9
C、d=9+e
D、ቤተ መጻሕፍቲ ባይዱ=9+e++=d+7
答案:C
51.下面对函数的叙述,正确的是().
A、函数中无论是否有return语句,都能返回正确值
B、函数中没有return语句,说明不带回值
C、函数不能嵌套定义
D、函数的返回值是通过return语句获得的
答案:C
52.整型变量x=1,y=3,经下列计算后,x的值不等于6的是().
一、单项选择
1.算术运算符,赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为().
A、关系运算,赋值运算,算术运算
B、算术运算,关系运算,赋值运算
C、算术运算,赋值运算,关系运算
D、关系运算,算术运算,赋值运算
答案:B
2.下述正确的C语言常量是:().
A、E2
B、3e-3
C、1.5E2.5
D、5.0E
43.以下叙述中,不正确的是().
A、C程序中的#include和#define均不是C语句
B、在C程序中,赋值运算符的优先级最低
C、在C程序中,j++;是一条赋值语句
D、一个好的程序应该有详尽的注释
答案:B
44.下面叙述中错误的是().
A、若一个函数没有return语句,则什么值也不会返回
B、一般来说,函数的形参和实参的类型要一致
{int **k,*j,i=100;
j=&i,k=&j;
printf("%d\n",**k);
}
A、100
B、i的地址
C、j的地址
D、运行错误
答案:A
42.若定义:int a=511,*b=&a;,则printf("%d\n",*b);的输出结果为().A、a的地址
B、无确定值
C、511
D、512
答案:C
D、strcpy(a,"abc");
答案:A
7.fscanf函数的正确调用形式是().
A、fscanf(文件指针,格式字符串,输入表列);
B、fscanf(格式字符串,文件指针,输出表列);
C、fscanf(fp,格式字符串,输出表列);
D、fscanf(格式字符串,输出表列,fp);
答案:A
8.下列数组说明中正确的是().
答案:A
31.执行下面程序段后,ch的值是().
char ch='a';
ch=(ch>='A'&&ch<='Z')?(ch+32):ch;
A、A
B、z
C、Z
D、a
答案:D
32.在C语言的函数中,下列正确的说法是().
A、数组名不能作形参
B、可以有也可以没有形参
C、形参必须是变量名
D、必须有形参
答案:B
D、p=&(j+2);
答案:C
24.定义char s[10],*p=s;,则下面编译不能通过的语句是().
A、s=p+s;
B、s[2]=p[4];
C、p=s+5;
D、*p=s[0];
答案:A
25.以下函数调用语句中,实参的个数是().
exce((v1,v2),(v3,v4,v5),v6);
A、3
B、4
答案:B
48.C语言提供的合法的数据类型关键字是().
A、float
B、unsigned
C、char
D、int eger
答案:B
49.所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是:().
A、6
B、7
C、8
D、2
答案:C
50.以下符合C语言语法的赋值表达式是().
A、d=9+e+f=d+9
A、"0"
B、""
C、"12'12"
D、'abc'
答案:D
36. fwrite函数的一般调用形式是().
A、fwrite(buffer,count,size,fp);
B、fwrite(fp,count,size,buffer);
C、fwrite(fp,size,count,buffer);
D、fwrite(buffer,size,count,fp);
D、C程序中,注释部分可以出现在程序中,任意合适的地方
答案:D
21.以下能对二维数组a进行正确初始化的语句是().
A、int a[][3]={{1,2,3},{4,5,6}};
B、int a[2][]={{1,0,1},{5,2,3}};
C、int a[2][4]={{1,2,3},{4,5},{6}};
C、标识符
D、函数
答案:D
40.若变量已正确定义,执行语句scanf("%d,%d,%d",&k1,&k2,&k3);时,()是正确的输入
A、20 30 40
B、2030,40
C、20,30,40
D、20,30 40
答案:C
41.设有如下程序,请选择正确答案().
#include<stdio.h>
main()
B、123 2e4.2.e5
C、-.18 123e4 0.0
D、160.0.12 e3
答案:B
29.以下函数调用语句中,实参的个数是().
fun c((e1,e2),(e3,e4,e5));
A、3
B、5
C、语法错误
相关文档
最新文档