C语言自学考试模拟试题及答案

合集下载

C语模拟考试题1

C语模拟考试题1

C语言模拟考试题1(共100分)一、单项选择题(每小题1分,共20分)1.若已定义x和y为double类型,则表达式x=1, y=x+5/2的值是(C )。

(A) 2 (B) 3 (C) 3.0 (D) 3.52.下列正确的字符串常量是( B )。

(A) abc (B) "abc" (C) 'abc' (D) 'a'3.以下程序运行后的输出结果是(B )。

#include<stdio.h>void main( ){ int p=10;printf("%d\n", (p?p/3:p%3));}(A) 2 (B) 3 (C) 20 (D) 错误信息4.在C语言中,short类型的数据长度为2个字节,则unsinged short类型数据的取值范围是( B )。

(A) 0至255 (B) 0至65535(C) -32768至32767 (D) -256至2555.在下列定义中,不正确的是( D )。

(A) int a[10]={12,23}; (B) char *b[10];(C) char s[20]= "china"; (D) double n=9,aa[n];6.有#define f(x) x+x及int a=3; 则执行printf("%d", f(a)*f(a)); 后的输出值为(B )。

(A) 0 (B) 15 (C) 36 (D) 97.使用fseek函数可以实现的功能是(D )。

(A) 文件的输出和输入(B) 文件的顺序读写(C) 文件的随机读写(D) 改变文件位置指针的当前位置8.以下关于静态局部变量的说法正确的是(D )。

(A) 静态局部变量的作用域为程序运行的全过程(B) 静态局部变量定义在函数体之外(C) 当某一函数被调用时,系统才为它的静态局部变量临时分配存储空间(D) 存储特性定义为static的局部变量是静态局部变量9.表达式sizeof('a'+10.0)的值为( C )。

c模拟试题

c模拟试题

自考“C语言程序设计”模拟试题一一、填空题1、C语言中基本的数据类型有:______、______ 、______ .2、C语言中普通整型变量的类型说明符为______,在内存中占______字节,有符号普通整型的数据范围是______ .3、整数-35在机内的补码表示为______.4、执行下列语句int a=8; a+=a-=a*a;后,a的值是______.5、有如下语句:char A[ ]={“I am a student”};该字符串的长度是______,A[3]=______.6、符号“a”和‘a’的区别是______.7、所谓“指针”就是______.“&”运算符的作用是______.“*”运算符的作用是______.8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是______.二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(——a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是()。

int x=10,y=10;printf(“%d %d\n”,x——,——y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2B. P+(i-1)*2C. P+(i-1)D. P+i5、选出下列标识符中不是合法的标识符的是()。

A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是()。

自考 c 程序试题及答案

自考 c 程序试题及答案

自考 c 程序试题及答案一、选择题(每题4分,共20分)1. 下列哪个选项是 C 语言关键字?A. intB. printfC. mainD. include2. 在 C 语言中,以下哪个选项可以用于读取用户输入?A. printB. inputC. scanD. scanf3. 下列哪个选项是用来声明一个整型变量?A. charB. floatC. intD. double4. 如果要判断两个变量是否相等,应使用哪个运算符?A. =B. ==C. >D. <5. 下列哪个选项用于将一个整型值转换为字符型?A. atoi()B. itoa()C. sprintf()D. cast()二、填空题(每题4分,共20分)1. 在 C 语言中,用于循环执行代码块的关键字是____。

2. 当变量的值大于或等于某个特定值时,才会继续执行循环,这个循环结构是____。

3. 在 C 语言中,用于分支选择的关键字是____。

4. 在 C 语言中,用于定义常量的关键字是____。

5. C 语言中表示逻辑非的运算符是____。

三、编程题(共60分)请编写一个 C 语言程序,要求能够根据用户输入的学生成绩输出相应的等级。

规定如下:90 分及以上为优秀,80 分及以上为良好,70 分及以上为中等,60 分及以上为及格,60 分以下为不及格。

程序运行示例1:输入成绩:85输出等级:良好程序运行示例2:输入成绩:72输出等级:中等程序运行示例3:输入成绩:58输出等级:不及格(提示:可以使用 if-else if-else 结构来实现条件判断,根据不同的成绩范围输出不同的等级。

)四、答案解析一、选择题答案:1. A 2. D 3. C 4. B 5. A二、填空题答案:1. for 2. do-while 3. if 4. const 5. !三、编程题答案:```c#include <stdio.h>int main() {int score;printf("请输入成绩:"); scanf("%d", &score);if (score >= 90) {printf("等级:优秀"); } else if (score >= 80) {printf("等级:良好"); } else if (score >= 70) {printf("等级:中等"); } else if (score >= 60) {printf("等级:及格"); } else {printf("等级:不及格"); }return 0;}```注意:以上程序仅为参考答案,实际编程过程中可以有多种实现方式。

全国高等教育成人自考c语言试题

全国高等教育成人自考c语言试题

自考高级语言程序设计模拟题第一部分选择题(20分)一、单项选择题(本大题共20小题,每小题1分,共20分)在每小题列出的四个备选项中只有一个是符合题目要求的,请将其代码填写在题后的括号内。

错选、多选或未选均无分。

1.组成C语言程序的是()A.过程B.函数C.子程序D.主程序和子程序2. 下列表达式的值为0的是()A. 3﹪5B. 3/5.0C. 3/5D. 3<53.C语言中定义某个内部变量时,如果省略了存储类型符,则系统将默认该变量是()A.自动型B.寄存器型C.静态型D.外部参照型4. 设int a = 3;则表达式a<1&& - - a>1的运算结果和a的值分别是()A. 0和2B. 0和3C. 1和2D. 1和35.自动型变量分配在()A.内存的数据区中B.CPU的通用寄存器中C.内存的程序区中D.内存的堆栈区中6. 下列保留字中用于构成循环结构的是()A. ifB. whileC. switchD. default7.对do-whie语言错误的说法是()A.可构成多重循环结构B.循环次数不可能为0C.循环次数可能为0D.先执行后判断8.设char x =′a′;则printf(″x = ﹪c, y = ﹪c \\ n″,x,97);的输出是()A. x = a,y = 97B. x = 97,y = aC. x = 97,y = 97D. x = a,y = a9.设char str1[10]=″ABCDE″,str2[10]=″XYZ″;则执行语句:printf(″%d″,strlen(strcpy(str1,str2)));后的输出是()A.3B.5C.8D.910. 执行下列程序int a[3][3]={{1},{2},{3}};int b[3][3]={1,2,3};main(){printf(″﹪d \\ n″,a[1][0] + b[0][0]);}后输出的结果是()A. 0 B. 1 C. 2 D. 311.语句int (*p)( );的含义是()A.p是一个指向函数的指针变量,该函数的返回值是一个整型数据B.p是指针变量,指向一个整型数据C.p是一个指向一维数据的指针变量D.p是指针函数12. 设int x[] = {1,2,3,4,5,6},* p = x;则值为3的表达式是()A. p + = 2, * + + pB. p + = 2, * p + +C. p + = 3, * pD. p + = 2, + + * p13.对于程序段float f1(int a){int b;…}main( ){int m,n;m=f1(n);…}char f2(int x,int y){int a;…}变量m,n的作用范围是()A.整个程序段B.main函数C.main函数和f2函数D.mian函数和f1函数14. 执行下列程序int a = 3, b = 4;void fun(int x1, int x2){printf(″﹪d, ﹪d \\ n″, x1 + x2,b);}main(){int a = 5, b = 6;fun(a, b);}后输出的结果是() A. 3,4 B. 11,1 C. 11,4 D. 11,615.在下列运算符中,优先级最低的是()A.!B.·C.( )D.[ ]16. 设有定义语句:enum t1 {a1, a2 = 7, a3, a4 = 15}time;则枚举常量a2和a3的值分别为() A. 1和2 B. 2和3 C. 7和2 D. 7和817.对于文件操作方式″rb+″,准确的说法是()A.可读写文本文件B.只读二进制文件C.只读文本文件D.可读写二进制文件18. 在文件使用方式中,字符串″rb″表示()A. 打开一个已存在的二进制文件,只能读取数据B. 打开一个文本文件,只能写入数据C. 打开一个已存在的文本文件,只能读取数据D. 打开一个二进制文件,只能写入数据19.设int a=1,b=2,c=4;经过表达式(c=a!=b)&&(a= =b)&&(c=b)运算后,a、b和c的值分别是()A.1,2,0B.1,2,1C.1,2,2D.1,2,320. main()函数可以带两个形参,一般分为argc和argv,其中argv可以定义为()A. int argv;B. char * argv[];C. char argv[];D. char ** argv[];第二部分非选择题(共80分)二、填空题(本大题共10小题,每小题2分,共20分)请在每小题的空格中填上正确答案。

自考c模拟试题及答案

自考c模拟试题及答案

自考c模拟试题及答案自考C模拟试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. main2. 下列哪个是正确的C语言变量声明?A. int 5;B. int number = 10;C. int number = '10';D. int number = 10.0;3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /4. 以下哪个语句可以正确地在C语言中打印输出?A. print("Hello, World!");B. print "Hello, World!";C. printf("Hello, World!");D. printf "Hello, World!";5. 在C语言中,哪个关键字用于定义一个结构体?A. structB. typeC. classD. union二、填空题6. 在C语言中,一个基本的程序结构由______、循环和选择构成。

7. 一个C语言程序的执行通常从______函数开始。

8. 在C语言中,使用______函数可以读取用户输入的字符。

9. 在C语言中,数组的索引是从______开始的。

10. 定义一个结构体类型变量时,可以使用______关键字。

三、简答题11. 简述C语言中指针的作用及其使用场景。

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

答案:一、选择题1. A2. B3. C4. C5. A二、填空题6. 顺序结构7. main8. scanf9. 010. struct三、简答题11. 指针在C语言中用于存储变量的内存地址,可以用于直接访问和操作内存中的数据。

使用场景包括动态内存分配、函数参数传递、数组操作等。

四、编程题12. 参考代码:```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;}```。

C语言最终模拟题(含答案)

C语言最终模拟题(含答案)

题号 1.以下选项中,能用作用户标识符的是(C)。

A : voidB: 8_8C: _0_D: unsigned题号 2...选择题 A :( 1 分,正确答案 A ,学生答案* )阅读以下程序#include <stdio.h>main(){int case; float printF;printf (" 请输入 2 个数 :");scanf ("%d %f", &case, &printF);printf ("%d %f\n", case, printF);}该程序在编译时产生错误,其出错原因是()。

A :定义语句出错, case 是关键字,不能用作用户自定义标识符B:定义语句出错, printF 不能用作用户自定义标识符C:定义语句无错,scanf 不能作为输入函数使用D:定义语句无错,printf不能输出case 的值题号 3...选择题 A :( 1 分,正确答案 B ,学生答案 B )表达式:(int)((double)9/2)-(9)%2的值是()。

A : 0B: 3C: 4D: 5题号 4...选择题 A :( 1 分,正确答案 B ,学生答案 D )若有定义语句:int x=10; ,则表达式x-=x+x的值为()。

A:-20B: -10C: 0D: 10题号 5...选择题 A :( 1 分,正确答案D,学生答案* )有以下程序#include <stdio.h>main(){int a=1, b=0;printf ("%d,", b=a+b);printf ("%d\n", a=2*b);}程序运行后的输出结果是()。

A:0,0B: 1,0C: 3,2D: 1,2题号 6...选择题 A :( 1 分,正确答案 A ,学生答案* )有以下程序#include <stdio.h>main(){int c=0, k;for(k=1; k<3; k++)switch (k){default: c+=k;case 2: c++; break;case 4: c+=2; break;}printf("%d\n", c);}程序运行后的输出结果是()。

C语言试题库(含答案)

C语言试题库(含答案)

一、单项选择题(每小题2分)【1】设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar (m);putchar ('');putchar (ch);后,则输出结果是。

A、A1B、lAC、AlD、1A标准答案:D【2】有如下函数调用语句fuc(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是。

A、3B、4C、5D、有语法错标准答案:A【3】有以下函数定义: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);标准答案:C【5】设有以下程序片段,请问执行后的输出结果是int i=010,j=10,k=0xl0;print f("%d,%d,%d",k,j,i);A、16,10,8B、81016C、10,10,10D、8,10,16标准答案:A【9】有如下程序段:char str[14]={"Iam"};strcat(str,"sad!");scanf("%s",str);print f("%s",str);当输入为happy!<CR>时,输出的结果是()。

A、Iamsad!B、happy!C、Iamhappy!D、happy!ad!标准答案:B【11】以下if语句中格式正确的是A、if(a>b)b++else a++;B、if(a>b){b++;print f("%d",b);}else {a++;print f("%d",a);}C、if(a>b){b++;print f("%d",b)}else {a++;print f("%d",a);}D、if(a>b)b++;print f("%d",b);else print f("%d",a);标准答案:B【1】设有整型变量m值为8,下列赋值语句中,正确的是。

C语言模拟题十套附答案

C语言模拟题十套附答案

第一部分:选择题(40分,20小题/套)概述1、下面关于C语言的叙述中,正确的是(D)A. 每行只能写一条语句B. 程序中必须包含有输入语句C. main函数必须位于文件的开头D. 每条语句最后必须有一个分号2、下面关于C语言的叙述中,错误的是(B)A. 若一条语句较长,也可分写在下一行上B. 构成C语言源程序的基本单位是表达式C. C语言源程序中大、小写字母是有区别的D. 一个C语言源程序可由一个或多个函数组成3、关于C语言数据类型的叙述,正确的是()A. 枚举类型不是基本类型B. 数组不是构造类型C. 变量必须先定义后使用D. 不允许使用空类型4、C程序中main函数的位置(C)A. 必须在最开始B. 必须在系统库函数后面C. 可以在自定义函数后面D. 必须在最后5、C语言的函数体由(B)括起来A. ( )B. { }C. [ ]D. /* */6、关于C语言的叙述中,不正确的是(C)A. C程序可由一个或多个函数组成B. C程序必须包含一个main()函数C. C程序的基本组成单位是函数D. 注释说明只能位于一条语句的后面7、一个程序的执行是从(C)A. 本程序的第一个函数开始,到最后一个函数结束B. 本程序的main函数开始,到main函数结束C. 本程序的main函数开始,到最后一个函数结束D. 本程序的第一个函数开始,到main函数结束8、结构化程序设计的三种基本结构是(C)A. 函数结构、分支结构、判断结构B. 函数结构、嵌套结构、平行结构C. 顺序结构、分支结构、循环结构D. 分支结构、循环结构、嵌套结构9、调试程序是指对程序进行(C)A. 编辑B. 编译C. 查错和排错D. 连接10、C语言中,复合语句的构成是将一系列语句置于(C)A. begin与end之间B. 一对圆括号“()”之间C. 一对花括号“{ }”之间D. 一对方括号“[ ]”之间11、构成C语言源程序的基本单位是(D)A. 语句B. 过程C. 表达式D. 函数语法基础12、在C语言中,正确的用户标识符是(B)A. 3fB. _forC. structD. _f.513、C语言的基本数据类型包括(A)A. 整型、实型、字符型B. 整型、实型、字符型、逻辑型C. 整型、字符型、逻辑型D. 整型、实型、逻辑型14、以下(D)是正确的常量A. E-5B. 1E5.1C. …a12‟D. 32766L15、以下(D)是正确的变量名A. a.beeB. –p11C. intD. p_1116、以下(C)是正确的字符常量A. “c”B. …//”C. …W‟D. “\32a”17、以下(A)是不正确的字符串常量A. …abc‟B. “12‟12”C. “0”D. “ “18、C语言的整型数据在内存中的存储形式是(C)A. 原码B. 反码C. 补码D. ASCII码19、以下(B)是正确的浮点数( e后面的数必须为整数e前面必须要有数字A. e3B. .62C. 2e4.5D. 12320、下列不属于C语言关键字的是(D)A. continueB. integerC. staticD. signed21、C语言的字符型数据在内存中的存储形式是(D)A. 原码B. 补码C. 反码D. ASCII22、在C语言中,变量所分配的内存空间大小是(A)A. 由变量的类型决定B. 由用户自己决定C. 任意的D. 均为两个字节23、若有定义:int a=2;则正确的赋值表达式是(A)A. a-=(a*3)B. double(-1)C. a*3D. a*4=324、语句x=(a=3,b=++a);运行后,x、a、b的值依次为()A. 3,3,4B. 4,4,3C. 4,4,4D. 3,4,325、语句a=(3/4)+3%2;运行后,a的值为(B)A. 0B. 1C. 2D. 326、以下四项中,符合C语言语法的语句是(C)注意分号A. int a+b=c;B. int a=12:b=12:c=12;C. int a=12,b=12,c=12;D. int a,b=12,float c=2127、若有定义:int x,a;则语句x=(a=3,a+1);运行后,x、a的值依次为()A. 3,3B. 4,4C. 4,3D. 3,428、若变量已正确定义并赋值,符合C语言语法的表达式是()A. a=8+b+c,a++B. a=3aC. int(12.3%4)D. a=a+1=c+b29、若有定义:int a,b;double x;则以下不符合C语言语法的表达式是()A. x%(-3)B. a+=-1C. a=b=2D. x=a+b30、若有定义:int x=2,y=3;float i;则以下符合C语言语法的表达式是(B)A. x=x*3=2B. x=(y==1)C. i=float(x) ( 形式错误:正确的是:i=(float)x 是将数据类型括号起来)D. i%(-3)31、若有定义:int x;则语句x=(2*3)+6%5;运行后,x的值是()A. 8B. 7C. 6D. 532、下面关于C语言变量的叙述中,错误的是(C)A. 可以用const关键字定义变量B. 在C程序中,SUM和sum是不同的变量C. 变量名必须由字母或下划线组成(可是是字母和数字组合)D. 变量的类型确定了变量的取值范围33、若有定义:int x=5,y=6;则表达式x=(y= =6)的值为()A. 5B. 1C. 6D. 034、下面叙述正确的是(B)A. 2/3与2.0/3.0等价B. (int)2.0/3与2/3等价C. ++5与6等价D. …A‟与”A”等价35、下面叙述中,错误的是(A)A. C语言基本的算术运算符不包含模运算符”%”B. 算术运算符的优先级高于关系运算符C. 自加和自减运算符的结合方向是”自右向左”D. C语言规定在表达式求值时,按其中运算符的优先级先高后低的次序进行36、下面叙述正确的是(A)A. 强制类型转换运算的优先级高于算术运算B. 若a和b是整型变量,(a+b)++是合法的(自加自减运算只能用于简单变量,不能用于表达式或常量)C. …A‟*‟B‟是不合法的D. “A”+”B”是合法的只能字符间运算37、若有定义:int i=1,j=5;则表达式(++j)*(i--)的值为(C)A. 1B. 0C. 6D. 7 (i先运算再减减,加了括号也一样38、设整型变量a为5,使b不为2的表达式是(C)A. b=(++a)/3B. b=6-(--a)C. b=a%2D. b=a/239、若有定义:int a=1,b=2,c=3;则语句++a||++b&&++c;运行后b的值为(C)A. 1B. 0C. 2D. 3(&&的优先级高于|| ,即先进行++b&&++c运算,~,<< ,>>,&,^(异或),| 优先级依次降低)40、若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是(B)A. 7B. 8C. 9D. 10 (i++要算完)41、若有定义:int a,b;则表达式(a=2,b=5,a*2,b++,a+b)的值是(B)A. 7B. 8C. 9D. 1042、若有定义:int i=2,j=5;则表达式(i+1,j+1,(++i+(j--))的值为(A)A. 8B. 6C. 7D. 5 红字部分先算43、若已定义:int i=3,k;则语句k=(i--)+(i--);运行后k的值为(C)A. 4B. 5C. 6D. 7 ( i先运算再--44、C语言的运算符按运算对象的个数可以分为(C)A. 单目运算符一种B. 单目和双目运算符C. 单目、双目和三目运算符D. 单目、双目、三目和四目运算符45、若已定义:float m;拟从键盘输入135.78这一数据给变量m,则应选用的语句是(D)A. scanf(“%5.2f”,&m);B. scanf(“%3.2f”,&m);C. scanf(“6.2f”,&m);D. scanf(“%6f”,&m);46、已知double a;使用scanf()函数输入一个数值给变量a,正确的函数调用是()A. scanf(“%l d”,&a);B. scanf(“%l f”,&a);C. scanf(“%c”,&a);D. scanf(“%u”,&a);47、已知char a;使用scanf()函数输入一个字符给变量a,不正确的函数调用是(B)A. scanf(“%d”,&a);B. scanf(“%l f”,&a);不可能是实数C. scanf(“%c”,&a);D. scanf(“%u”,&a);十进制无符号48、putchar()函数的功能是向终端输出(B)A. 多个字符B. 一个字符C. 一个实型变量值D. 一个整型变量表达式49、以下程序段运行后的输出结果是(C)int k=11;printf(“k=%d,k=%o,k=%x\n”,k,k,k);A. k=11,k=13,k=cB. k=11,k=12,k=13C. k=11,k=13,k=bD. k=11,k=13,k=a50、若有定义:int x=1234,y=123,z=12;则语句printf(“%4d+%3d+%2d”,x,y,z);运行后的输出结果为(D)A. 123412312B. 12341234123412341231231231212C. 1234+1234+1234D. 1234+123+1251、已有如下定义和输入语句,int a;char c1,c2;scanf(“%d%c%c”,&a,&c1,&c2);若要求a、c1、c2的值分别为10、A和B,正确的数据输入是()A. 10ABB. 10 A BC. 10A BD. 10 AB52、以下程序段的运行结果是(A)int a=0,b=0,c=0;if(a&&++b) (因为a=0 又是与运算,故不进行&&后面的运算了)c++;printf(“%d,%d\n”,b,c);A. 0,0B. 1,2C. 2,2D. 1,053、以下程序的运行结果是()void main(){int a=65;c har c=‟A‟;printf(“%x,%d”,a ,c);}A. 65,aB. 41,aC. 65,65D. 41,6554、若已定义:int a=5;float b=63.72;以下语句中能输出正确值的是(B)A. printf(“%d%d”,a,b);B. printf(“%d%2f”,a,b);C. printf(“%2f%2f”,a,b);D. printf(“%2f%d”,a,b);55、运行以下程序段时编译出错,其原因是(A)char c1='8',c2='2008';printf("%c,%d\n",c1,c2);A. c2是字符变量,只能赋以字符常量,不能赋以字符串常量B. 字符串要用“2008“表示,而‘2008’不是字符串表示C. ‘2008’只能赋值给字符数组D. 字符变量不能用%d格式输出56、若已定义:int a=3,b=15,c;则语句c=a>b;运行后c的值为(B)A. 1B. 0C. tD. f57、在C语言中,判定逻辑值为“真“的最正确的叙述是(B)A. 1B. 非0的数C. 大于0的数D. 非0的整数58、若已定义:int a=-36,b=-30,c;则语句c=a<b;运行后c的值为(A)A. 1B. tC. 0D. f (有符号的比较,按负数进行比较)59、能正确表示数学关系式800>=y>=500的C语言表达式为(A)A. (y<=800)&&(y>=500)B. (y<=800)AND(y>=500)C. 800>=y>=500D. (y<=800)&(y>=500)60、若有定义:int x=3,y=4;则表达式!x||y的值为(A)(!,算术运算符,关系运算符,&&,|| ,赋值运算符优先级依次降低)注意:表达式的最后结果不是零就是一A. 1B. 0C. 3D. 461、若有定义:int i=7,j=8;则表达式i>=j||i<j的值为()A. 1B. 变量i的值C. 0D. 变量j的值62、若希望当a的值为奇数时,表达式的值为“真”,a的值为偶数时,表达式的值为”假”。

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

C语言自学考试模拟试题及答案一、单项选择题1.各种基本数据类型的存贮空间正确的长度排列为_____C_____.A.Char<long<int<float<doubleB.Double<float<long<int<charC.Char<int<long<float<doubleD.Float<int<long<char<double2.下面的变量说明中______C_______是正确的。

A.Char:a,b,c;B.Chara;b;c;C.Chara,b,c;D.Chara,b,c3.main(){ intn;(n=6*4,n+6),n*2;printf(“n=%d\n”,n);} 此程序的输出结果是______B________.A.30B. 24C. 60D. 484.若有如下定义,则___C_______和_______D__是对数组元素的正确的引用。

int a[10] ,*p ;p=a ;A. *&a[10]B. a[11]C. *(p+2)D.*p5.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是___C_______A. 0B. 4C. -4D. 26.表达式y=(13>12?15:6>7?8:9)的值为____C________.A 9B 8C 15 D. 17.若x=5,y=3 则y*=x+5;y的值为___D____________.A. 10B. 20C. 15D. 308.C语言的输入与输出操作是由______C______完成的。

A.输入语句B.输出语句C.输入与输出函数D.输入与输出语句9.语句for(k=0;k<5;++k){ if(k==3)continue;printf(“%d”,k);}的输出结果为______B_____.A.012B.0124C. 01234D. 没有输出结果10.从循环体内某一层跳出,继续执行循环外的语句是:___A________.A.break语句B.return语句C.continue语句D.空语句。

11.Break语句的正确的用法是______B______.A.无论在任何情况下,都中断程序的执行,退出到系统下一层。

B.在多重循环中,只能退出最靠近的那一层循环语句。

C.跳出多重循环。

D.只能修改控制变量。

12.两个指针变量的值相等时,表明两个指针变量是______B____.A.占据同一内存单元。

B.指向同一内存单元地址或者都为空。

C.是两个空指针。

D.都没有指向。

13.不正确的指针概念是_____D_____.A.一个指针变量只能指向同一类型的变量。

B.一个变量的地址称为该变量的指针。

C.只有同一类型变量的地址才能存放在指向该类型变量的指针变量之中。

D.指针变量可以赋任意整数,但不能赋浮点数。

(ch>=‘A’&&ch<=‘Z’)?ch:(ch+32)的值是_________.14.设charch=‘A’;表达式ch!A.AB. aC.ZD. z15.根据C语言的语法规则,下列_____A__个是不合法标识符。

A.WhileC.Rern5D._exam16.设单精度变量f,g均为5.0,使f为10.0的表达式是________A__.A. f+=gB. f-=g+5C. f*=g-15D. f/=g*102003年10月甘肃省自考C语言程序设计真题一、单项选择题(在每小题的四个备选答案中,选出一个正确的答案,并将其代码填入题干后的括号内。

每小题1分,共20分)1.程序中定义以下宏#defineS(a,b)a*b,若定义intarea;且令area=S(3+1,3 +4),则变量area的值为(A)A10B12C 21D 282.正确的标识符是()AaBa=2 Ca.3 D a_33.表达式1&3&5&7的值为(A)A1 B3C5 D74.语句printf(″s\\t″)的输出结果为(B)As\\t B s\tC s\D s5. 执行下列语句中,sum变量的值是(B)intsum=0for(inti=0;i<10;i++,sum+=i);A45B55C 0D编译错误6.已知有共用体变量data1定义如下:uniondata{inti;charch;floatf;}data1;则变量data1所占的内存存储空间可表示为(C)Asizeof(int)Bsizeof(char)Csizeof(float)Dsizeof(int)+sizeof(char)+sizeof(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示()A已读到此文件末尾B未读到此文件的末尾C此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是()Avoidfun (intx,inty);Bfun (intx,inty);Cintfun (intx,y);Dchar*fun (char*s);9.下列选项中,不合法的C语言关键字是()AautoBdefaultCstaticDvar10.若x=4,则x*=x+2的值为()A36B24C18D2011.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为()A1B2C4D512.设a为5,执行下列语句后,b的值不为2的是()Ab=a/2Bb=6-(-a)Cb=a%2Db=a>32:113.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()Ap2=**p1Bp2=*&p1Cp2=*p1Dp2=&*p114.以下运算符中,运算对象必须是整型的是()A/B%=C!=D〈=15.以下关于typedef的叙述中错误的是()A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植16.若执行完成下列语句:inta=3,b=6,c;c=a∧b《2;则变量c的二进制值为()A00011100B00010100C0001000D0001101117.设有定义intx=1;inty=‘a’<‘A’x-:x++;,则变量y的值是()A0B2C1D318.以下关于宏替换的叙述不正确的是()A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间19. 以下对枚举类型名的定义中正确的是()Aenums={a,b,c}Benums{a=9,b=2,c}Cenums={′a′,′b′,′c′}Denums{′a′,′b′,′c′}20. 假设指针p已经指向某个整型变量x,则*p相当于()A&xB&pCxD*x 1.A 2.D 3.A 4.B 5.B 6.C 7.A 8.C9.D 10.B 11.B 12.C 13.D 14.B 1 5.A 16.D17.C 18.D 19.B 20.C二、多项选择题(在每小题的五个备选答案中,选出二至五个正确答案,并将其代码填写在题干后的括号内;错选、多选不得分。

每小题2分,共10分)1.C语言中的文件类型有()A索引文件B文本文件CASCII文件D二进制文件E随机文件2. 以下关于C语言中循环的描述正确的是()A在while和do-while循环体内应包含使循环趋于结束的语句Bdo-while的循环体不能是复合语句Cdo-while的循环体至少无条件执行一次D在for循环中可以使用break语句跳出循环体Efor循环只能用于循环次数已经确定的情况3. 合法的变量名有()Aa_1_2Bb2C_abcDABCE$14. 整型变量的类型标识符是()AshortBlongCUnsignedintDintEchar5. 以下叙述中正确的是()A一个C语言程序有且仅有一个main函数BC语言程序中,main函数是没有参数的C一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用Dmain函数是由系统调用的E若要通过函数参数带回一个或多个返回值,则应使用按地址传送的参数结合方式三、判断题(认为对的,在题后的括号内打″√″,认为错的打″×″。

每小题1分,共6分)1.若有说明intc;则while (c=getchar());是错误的C语句。

()2.C语言中,共用体类型的变量在程序运行期间,所有成员都在内存中。

()3.在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效。

()4.C语言程序中,一个文件中的函数可以引用存储在另一个文件中的函数和变量。

()5.使用continue和break语句,都可以使得C程序的执行直接从循环中跳出。

()6.若a为一维数组名,则*(a+i)与a[i]等价。

()四、阅读程序,将程序运行结果填写到题后的横线上(每小题5分,共25分)1.#include″stdio.h″main(){ staticcharstr[]=″Language″;char*s=&str[8];while(--s>=&str[0])putchar(*s);putchar(′\n′);}输出结果:___________________________2.main(){inta[6]={12,4,17,24,27,16};intb[6]={27,13,4,25,23,16};for(inti=0;i<6;i++){ for(intj=0;j<6;j++)if(a[i]==b[j])break;if(j<6)printf(″%d″,a[i])}}输出结果:_____________________________ 3. #include<stdio.h>intmian(){ inti=0,sum=0;while(1){ sum+=i;i++;if(i>5)break;}printf(″sum=%d\n″,sum); }程序运行结果:4. intfun(intn){if(n>0)returnn*fun(n-1);elsereturn1;}main(){ inta=fun(4);printf(″a=%d\n″,a);}程序运行结果:____________________ 5. fun(inti){ staticints=3;s+=ireturn(s);}main(){inta=2,b=1,s;s=fun(a);s=fun(b);printf(″%d\n″,s);}程序运行结果:____________________五、程序填空题(根据题意要求,将程序补充完成。

相关文档
最新文档