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

选择题1.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok2.请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof3.不属于C语言关键字的是()。
A.int B.break C.while D.character4.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int5.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.dat8.已知大写字母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.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if12.下列运算符中优先级最高的是()。
A.< B.&& C.+ D.!=13.判断char型变量s是否为小写字母的正确表达式是()。
大一期末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语言试题及答案一、选择题(每题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语言大一期末考试题库及详解答案一、选择题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语言期末考试中,同学们可能会遇到各种类型的题目。
以下是一些典型的试题及其答案,供同学们复习参考。
1. 以下哪个选项是C语言中的关键字?A. intB. IntegerC. INTD. integer答案:A. int2. 若有定义:int a = 10; 则表达式 a++ 的值是多少?A. 9B. 10C. 11D. 无法确定答案:B. 103. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. length()C. str_length()D. string_length()答案:A. strlen()4. 若有以下代码片段:```cint x = 5;printf("%d", x++);```执行后输出的结果是?A. 4B. 5C. 6D. 无法确定答案:B. 55. 在C语言中,以下哪个选项表示“逻辑与”操作?A. &&B. ||C. !D. &答案:A. &&6. 若有以下代码:```cint a = 3, b = 4, c;c = a + b;```则变量 c 的值是多少?A. 7B. 3C. 4D. 无法确定答案:A. 77. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2,3];B. int array[2][3];C. int array[2][3][4];D. int array[][];答案:B. int array[2][3];8. 若有以下函数定义:```cint add(int x, int y) {return x + y;}```则调用 add(5, 3) 时,返回的值是多少?A. 2B. 5C. 8D. 无法确定答案:C. 89. 在C语言中,以下哪个选项表示“不等于”的比较运算符?A. ==B. !=C. =D. <=答案:B. !=10. 若有以下代码:```cchar str[] = "Hello";str[0] = 'h';```执行后,str 数组的内容是什么?A. "hello"B. "Hello"C. "helloworld"D. "hEllo"答案:A. "hello"这些题目覆盖了C语言的基础知识点,包括关键字、变量、函数、数组以及基本的控制结构。
2022年江苏大学公共课《C语言》科目期末试卷A(有答案)

2022年江苏大学公共课《C语言》科目期末试卷A(有答案)一、填空题1、把int类型变量low中的低字节及变量high中的高字节放入变量s中的表达式是_______。
2、结构化程序由________、________ 、________ 3种基本结构组成。
3、C语言源程序的基本单位是________4、若有定义语句:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为_______。
5、假设m是一个3位数,从左到右依次用a、b、c表示各位的数字,则从左到右各位数字是b、a、c的3位数的表达式是_______。
6、下面程序段的运行结果是_______。
char*s1="AbcdEf", *s2="aB";int t;s1++;t=(strcmp(s1,s2)>0);printf("%d\n",t);7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、执行以下程序时,若从第一列开始输入数据,为使变量a=3、b=7、x=8.5、y=71.82、c1='A'、c2='a',正确的数据输入形式是_______。
#include <stdio.h>int main(){int a,b;float x,y;char cl,c2;scanf("a=%d b=%d",&.a,&.b);scanf("x=%f y=%",8.x,8.y);scanf("c1=%cc2=%c”,8.cl,8.c2);printf("a=%d,b=%d,x=%f,y=%f,cl=%c,c2=%c",a,b,x,y,cl,c2);return0;}9、设有如下结构体说明:struct ST{int a;float b;struct ST*c;doublex[3];}st1;请填空,完成以下对数组s的定义,使其每个元素均为上述结构体类型。
大一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语言练习册答案————————————————————————————————作者:————————————————————————————————日期:第1章 C 语言概述知识点巩固习题 一、选择题1B2D 3C 4B 5C 二、基本概念填空题 1 小写 2 有且仅有 3 函数 4 执行部分 5 编译 6 /*和*/ 7 Alt+Enter8 F29 F610 F10第2章 程序的灵魂—算法知识点巩固习题 基本概念填空题 1 一个或多 2流程图、N-S 图 3 判断 4 分支 5 顺序、循环6 一个、一个7 模块8 适合9 一个算法应包含有限的操作步骤。
10 (略)第3章 数据类型、运算符与表达式知识点巩固习题 一、选择题 1D 2A 3B 4C 5A 6B 7B 8A 9B 10D 11D 12B 13C 14C 15C 16D 17A 18B 19C 20D 21A 22C 23C 24A 25C 26D27A28D29D二、基本概念填空题1 unsigned2 #define 符号常量名 常量值3 4.04 a/(b*c) 5(1)5 5(2) 55(3) 3 6 float a1=1,a2=1; 7 65535、0、1111111111111111(16个1)、08 0和1 9 !、&&、|| 10 非0、0,1、0 11 1、012 X>20&&X<30||X<-100 提高题 一、选择题 1C 2D 3D 4B 此题不好 5B 6D 7C 8D9C10A (C 少分号) 11D12A二、基本概念填空题1. 4.2、4.2 2.11、12 3. 将10赋值给s 4. \ ,大写字母A ,'\0' 5. 36. 10 7. 0.0 8.cos(3.14/3)+8*exp(x) 9. ac b b 42-+- 10.20, 3 11. 12 12. 14513.314.5.515. 1016. 117.算术、关系、逻辑、逗号、条件、赋值第4章 顺序结构程序设计一、知识点巩固习题 (一)选择题: 题号1234567891011答案 B D B C A D D C B C A (二)填空题:题号答案1 ;2 12453 (1)-200 2500(2)i=-200 j=2500(3)i=-200j=25004 3.789215,a= 513.79,a= 513.78921500,a= 513.789215005 25 21 37(三)完善程序:题号答案1 a=bb=c2 ch=ch-32ch3 scanf(“%f,%f”,&x,&y)z三、提高题(一)选择题:题号 1 2 3 4 5 6 7答案 B D A D D B A(二)填空题:题号答案1 02 100 300 400(三)完善程序:题号答案1 a/1000a/100%10a%100/10a%102 法一a-b a-b法二a/b a/b第5章选择结构程序设计一、知识点巩固习题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 答案 A D B B A A B D C D C C A A C (二)填空题:题号答案1 -42 13 10 20 04 yes5 5 0 3(三)完善程序:题号答案1 a%2==1"no\n"2 ch>=’A’&&ch<=’Z’ch+323 z=-2*x/Pix==0z=2*x/Pi4 temp=ab=temp5 x%3==0||x%7==0f=1三、提高题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 答案 B C A A D B C D B A (二)填空题:题号答案1 *#2 33 m=1m=3(三)完善程序:题号答案1 b<cb<a&&b<cprintf("%d,%d,%d\n",c,a,b)printf("%d,%d,%d\n",c,b,a)2 c %xX default3 K==1 k==2 k==3第6章循环结构程序设计一、知识点巩固习题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 答案 A C A D D A B D C C 题号11 12 13 14 15 16 17 18 19 20 答案 A D B C C C D B B A (二)填空题:题号答案1 132 73 1204 1 2 35 366 5467 09182736458 *#*#*#$9 3,310 18(三)完善程序:题号答案1 4-i2*i-12 while(i<=100)i++3 amin=xx!=-1x<amin4 n<=13t=1.0/n5 int okoki=i+1yesno6 prime=1m%n==0prime7 b=i+18 continuebreak9 rnrm%n10 #include<math.h>x0=xx0-f/f1fabs(x-x0)>=1e-511 (xn0+a/xn0)/2>=1e-6xn1(xn0+a/xn0)/2三、提高题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 11 答案 C C C B B D B B B D D (二)填空题:题号答案1 m=2求m和n的最大公约数2 -23 This Is Book!4 101,-15 16,60(三)完善程序:题号答案1 (ch=getchar())!=’#’letter++ch>=’0’&&ch<=’9’other++2 n=0i%7==23 k*kbreakn/10%104 fabs(t)x*x/n(2*n+1)5 a!=c&&b!=c&&a!=’X’&&c!=’X’&&c!=’Z’6 f1*f2<0x=(x1+x2)/2x2=xx1=x7 fz+fm i++第7章数组知识点巩固习题一、选择题1 D2 D3 C4 B5 D6 C7 A8 B9 C 10 B11 B 12 C 13 C 14 C 15 C 16 D 17 A 18 C 19 C 20 C二、基本概念填空题1.首地址2.有限3.行列下标值相等4.两个原序列同为升序或同为降序5.gets(str); 6.0三、阅读程序题1.s=1234 *************************3.求得数组最大元素的下标4.65.将两字符串合并,并输出合并串的串长6.e, helloy, ,07.s=15 8.0 1 20 1 20 1 29.0 0 0 0 1 10.将任意读入的十进制正整数转换成十六进制序列四、完善程序题1.x=x/2 x!=0 i-12.a%1000/100 aa[i]=aa[i]%10 i<23.SIZE-1 j<k4.“”空串strcmp(a, max)>05.i=0 a[i+j]=b[j], a[i+j+1]=’\0’6.char s[] j=k=0 s[k]=’\0’7.find=1 low=mid+1 high=mid-18.i==j a[i][4-i]=19.a[m-1][0] a[m][n-1]=a[m-1][n]10.a[i]!=’\0’a[i]+3-26 a[i]+311.k++ a[i][j] printf(“\n”)提高题一、选择题1C 2C 3D 4B 5A 二、阅读程序题1.将任意读入的整数插入数组a后,使之依然有序2.SWITCH*#WaMP*3. 2 5 8三、完善程序题1.a[i++] b[j++] break2.x%10 m<n m>=n3.a[i]-97 i+974.<ctype.h> s=0 strlen(a)5.a[i][0]=a[i][i]=1 a[i-1][j-1]+a[i-1][j] j<=i6.(N+1)/2 a[j][N-k] printf("\n")7.a[k]=k a[k]!=0 a[j]%a[k]==08.i=0,j=strlen(str)-1 str[j] str[j]第8章函数一、知识点巩固习题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 答案 C B A B C D B B B D 题号11 12 13 14 15 16 17 18 19 20 答案 C A D C D C D D B A 题号21 22 23 24 25 26 27 28答案 B D B B A D C B(二)填空题:题号答案1 30,20,102 83 hlo4 6 7 85 110…f(1)210…f(2)100…main()6 2 11 3 11 4 117 2,5,1,2,3,-28 15,64,69 c=0c=-1c=-2(三)完善程序:题号答案1 i<2j<4arr[i][j]>maxmax=a rr[i][j]2 chch==’#’i++3 str[num]!=’\0’num4 float fmax(x,y) 去掉原来的分号(x>y)?x:y5 return(1)return(n+sum(n-1))三、提高题(一)选择题:题号 1 2 3 4 5 6 7 8 9 10 答案 B D A B B C D A A C (二)填空题:题号答案1 212 43 1 1 1 10 121 2 2 9 131 3 3 8 144 0123455 3156 56717 5,25(三)完善程序:题号答案1 str[i]word=0num++2 m%k==0prime(n-i)3 y>x&&y>zreturn (z)j%x1==0&&j%x2==0&&j%x3==04 m=1m*im=0fun(k)5 s[i]=k(i+1)%5==0sum=0第9章预处理命令知识点巩固习题一、选择题1A 2B 3C 4D 5B 6C 7D二、基本概念填空题1.不占用2.字符、无三、阅读程序题1.15 2.ar=9 ar=9 ar=11提高题一、选择题1A 2C二、阅读程序题1.8 、9 2.12第10章指针知识点巩固习题一、选择题1D 2B 3D 4D 5B 6A 7B 8C 9A 10A 11D 12D 13D 14C 15D 16D 17A 18C 19C 20B 21B 22B 23C 24A 25C二、基本概念填空题1.ABCD A2.NULL 合法空间的地址3.a[5]的地址即&a[5] a[5]的值4.(1) &a[1]即数组a的第二行的首地址(2) &a[2][0](3) &a[1][2] (4) a[0][2]5.12 126. 57. 3 "FILE2.OUT"三、阅读程序题1.调用函数求得任意两数之和2.ga3.2,5 4.xyabcABC5.10,20 10,20 6.48 62 65 7.AD BC BB 8.ABCDBCDCDD9. 1 10.6,6 9,9 四、完善程序题1.p p=a *p2.t=*x *x=*y *y=t3.max_value(a,10) p++ *p>m4.char a[10] strcmp(p[i],a)>05.p=a p-a6.i/4 i%47.*t++ str1, str28.p[n]!=c p+n9.getchar() '\0' ++10.t[80] strcmp(c[i],c[i+1])>0 puts提高题一、选择题1B 2A 3D 4C 5C 6C 7A 8B 9D 10C 11B 12C 13D 14C 15D 二、基本概念填空题1.nanjing i e g2.3*i+j i j 3.BBBAAA123三、阅读程序题1.4, 5 2.8retupmo puter3.elpoeP anihC 4.15 5.hane四、完善程序题1.j++ j++ j++ a!=0 r<10 --i2.(*fun)(double) (*fun)(a+i*h) mypoly3.s+n-1 break p2--4.exit(0) *(p+i)=*p1 p++5.fac[left] fac[right] fac[left] *(fac+left++) 6.break '\0' *p++第11章结构体、共用体与枚举类型知识点巩固习题一、选择题1C 2A 3B 4D 5D 6A7B 8C 9A 10A 11D 12B 二、基本概念填空题1.完成下列表格(表1):表1 结构体与共用体变量的对比表问题结构体共用体变量定义格式struct 结构体类型名{ 类型名1 成员名1;类型名2 成员名2;……};union 共用体类型名{ 类型名1 成员名1; 类型名2 成员名2; ……};什么因素决定了变量的大小变量所有成员容量之和成员中内存需求量最大者的容量对成员的引用方法变量名.成员名指针->成员名变量名.成员名指针->成员名改变一个成员的值是否影响其他成员的值否是可否为变量各成员初始化可以不可以2.完成下列表格(表2):表2 简单数据类型与结构体、共用体的对比表问题char/int/float 指针结构体共用体数据类型是否需要单独定义否否是是是否有明确的数值范围是是否可以用scanf、printf直接输入输出是可以,但一般不这么处理否否是否可以直接进行关系运算是是否否3.成员指向成员4.345.(*p).b p->b6.20 w[0].a[3] w[1].c.c (*pw).a[1]、pw->a[1] (*pw).c.c、pw->c.c 三、阅读程序题1.72 2.9 3.0:706, 1:908, 四、完善程序题1.(d-1) 2.t=a[i] a[i]=a[k] a[k]=t 3.scanf("%s",name) stu[j].dps++ 4.a[i].con++ a[j].con++ 5.exit(0) 或return h p1!=NULL p1=p1->link p1->link=h 6.p2->next head head->next p2->next=p1 提高题一、选择题1B 2D 3A二、阅读程序题1.516021 2.10120031403.2, 5 4.4, 8 5.2,5dime dollar三、完善程序题1.break Find(a, num, n) q->score.exam2 q->score.exam1 2.free(p2)NULL 3.v2=h p=v2->next4.h!=NULL (NP)malloc(sizeof(ND)) p++第12章位运算知识点巩固习题一、选择题1D 2A 3B 4A 5D 原题有错(i的值为013,j的值为0x13)二、基本概念填空题1.11110000 2.a&0 3.a|077774.(x&0xFF)|0xFF00 5.a=012500>>2 6.ch|32或ch|0x20提高题阅读程序题a1f6第13章文件知识点巩固习题一、选择题1D 2B 3C 4C二、基本概念填空题1.rewind 2.stdio.h三、阅读程序题1.将p1所指文件z .c的内容复制到p2所指文件s .c中2.Like C 四、完善程序题1.fgetc(fp) fclose(fp)2.fopen(fname,"r") ch3.w提高题一、选择题1D 2C 3D 4B 5C 6D 二、阅读程序题1.121314252627 2.The fifth record is:#, 9, 5.6三、完善程序题1.int argc; char **argv argv[1] NULL fgetc(fp) 2.int x[][6],int n \\my.out fp,"%3d",a[i][j] fp 3."a" fgetc(fp1) c, fp2。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题1.下列字符序列中,不可用作C语言标识符的是()。
A.abc123 B.no.1 C._123_ D._ok2.请选出可用作C语言用户标识符的一组标识符()。
A.void B.a3_b3 C.For D.2adefine _123 -abc DOWORD IF Case sizeof3.不属于C语言关键字的是()。
A.int B.break C.while D.character4.以下不能定义为用户标示符的是()。
A.scanf B.V oid C._3com_ D.int5.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.dat8.已知大写字母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.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if12.下列运算符中优先级最高的是()。
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.“假”15. 有一函数:⎪⎩⎪⎨⎧>=<-=010001x x x y ,以下程序段中不能根据x 值正确计算出y 值的是()。
A .if (x>0) y=1;else if (x==0) y=0;else y= -1;B .y=0;if (x>0) y=1;else if (x<0) y= -1;C .y=0;if (x>=0)if(x>0) y=1;else y= -1;D .if (x>=0)if (x>0) y=1;else y=0;else y= -1;16. 已知int a=1,b=2,c=3; 以下语句执行后a,b,c 的值是()。
if(a>b)c=a; a=b; b=c;A .a=1, b=2, c=3B .a=2, b=3, c=3C .a=2, b=3, c=1D .a=2, b=3, c=217. 以下程序的运行结果是()。
#include ”stdio.h ”main(){ int a=1;if (a++>1) printf(”%d\n ”, a);else printf(”%d\n ”, a --);}A .0B .1C .2D .3 18. 执行以下程序段后,变量x,y,z 的值分别为()。
int a=1,b=0, x, y, z;x=(--a==b++)?--a :++b;y=a++;z=b;A .x=0,y=0,z=0B .x= -1,y= -1,z= 1C .x=0,y=1,z=0D .x= -1,y= 2, z= 119. 以下程序的输出结果是()。
#include ”stdio.h ”main(){int a=5, b=4, c=6, d;printf(”%d\n”, d=a>b? a>c?a:c :b);}A.5 B.4 C.6 D.不确定20.执行下列程序,输入为3的数出结果是()。
#include ”stdio.h”main(){int k;scanf(”%d”, &k);switch(k){ case 1: printf(”%d\n”, k++);case 2: printf(”%d\n”, k++);case 3: printf(”%d\n”, k++);case 4: printf(”%d\n”, k++);break;default: printf(”Full!\n”);}}A.3 B.4 C.3 D.45421.有如下程序,写出该执行结果()。
#include ”stdio.h”main(){float x=2.0, y;if (x<0.0) y=0.0;else if (x<10.0) y=1.0/x;else y=1.0;printf(”%f\n”,y);}A.0.000000 B.0.250000 C.0.500000D.1.000000 22.运行以下程序后,如从键盘上输入china#,则输出为()。
#include ”stdio.h”main(){int v1=0,v2=0;char ch;while ( (ch=getchar()) !=’# ’)switch (ch){ case ’a’:case ’h’:default: v1++;case ’o’: v2++;}printf(”%d,%d\n”, v1,v2);}A.2,0 B.5,0 C.5,5 D.2,523.有以下程序,程序运行后的输出结果是()。
#include ”stdio.h”main(){int a=15, b=21, m=0;switch (a%3){ case 0: m++; break;case 1: m++;switch (b%2){ default: m++;case 0: m++; break;}}printf(”%d\n”,m);}A.1 B.2 C.3 D.424.在下列选项中,没有构成死循环的程序段是()。
A.int i=100;while (1){i=i%100+1;if(i>100) break;}B. for ( ;;);C.int k=1000;do {++k;}while (k>=10000);D.int s=36;while (s) ;--s;25.下面程序的运行结果为()。
main(){ int n;for(n=1;n<=10;n++){ if(n%3==0)continue;printf("%d",n);}}A.12457810B.369C.12D.1234567891026.在以下给出的表达式中,与do-while(E)语句中的(E)不等价的表达式是()。
A.(!E==0)B.(E>0||E<0)C.(E==0)D.(E!=0)27.下列程序的输出是()。
#include<stdio.h>main(){ int i;char c;for(i=0;i<=5;i++){c=getchar();putchar(c);}}程序执行时从第一列开始输入以下数据,<CR>代表换行符。
u<CR>w<CR>xsta<CR>A.uwxstaB.uC.uD.uw w wx xs xsta28.在C语言中,为了结束while语句构成的循环,while后一对圆括号中表达式的值应该为()。
A.0B.1C.trueD.非029.在C语言中,为了结束由do-while语句构成的循环,while后一对圆括号中表达式的值应为()。
A.0B.1C.trueD.非030.下列程序的输出为()。
#include<stdio.h>main(){int i=0,j=0,a=6;if((++i>0)||(++j>0))a++;printf("i=%d,j=%d,a=%d\n",i,j,a);}A.i=0,j=0,a=6B.i=1,j=1,a=7C.i=1,j=0,a=7D.i=0,j=1,a=731.下列程序段的输出结果为()。
main(){int x=3;do{ printf("%3d",x-=2);}while(!(--x));}A.1B.3 0C.1 -2D.死循环32.以下程序运行后,输出结果是( )。
main(){int n[5]={0,0,0},i,k=2;for(i=0;i<k;i++) n[i]=n[i]+1;printf("%d\n",n[k]);}A. 不确定的值B. 2C. 1D. 033.以下程序运行后,输出结果是( )。
main(){int a[10], a1[ ]={1,3,6,9,10}, a2[ ]={2,4,7,8,15},i=0,j=0,k;for(k=0;k<4;k++)if(a1[i]<a2[j]) a[k]=a1[i++];else a[k]=a2[j++];for(k=0;k<4;k++) printf("%d",a[k]);}A. 1234B. 1324C. 2413D. 432134.以下程序运行后输出结果是( )。
main( ){int n[3],i,j,k;for(i=0;i<3;i++)n[i]=0;k=2;for (i=0;i<k;i++)for (j=0;j<k;j++)n[j]=n[i]+1;printf("%d\n",n[1]); }A. 2B. 1C. 0D. 335.若有以下的定义:int t[5][4];能正确引用t数组的表达式是( )。
A. t[2][4]B. t[5][0]C. t[0][0]D. t[0,0]36.下述对C语言字符数组的描述中错误的是( )。
A. 字符数组可以存放字符串B. 字符数组中的字符串可以整体输入、输出C. 可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D. 不可以用关系运算符对字符数组中的字符串进行比较37.下述对C语言字符数组的描述中正确的是( )。