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的值为偶数时,表达式的值为”假”。

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

全国高等教育成人自考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″;则执行语句:p rintf(″%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,4B. 11,1C. 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语言基础练习100题(含答案)

C语言基础练习100题(含答案)

如对你有帮助,请购买下载打赏,谢谢!C语言基础练习100题(含答案)雷柳青编排1、下面程序的输出是________#include<stdio.h>void main(){ int k=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}A) k=11,k=12,k=11 B) k=11,k=13,k=13C) k=11,k=013,k=0xb D) k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是________.A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C语言字符常量是__________.A) '\t' B) "A" C) 65 D) A4、字符(char)型数据在微机内存中的存储形式是____.A) 反码B) 补码C) EBCDIC码D) ASCII码5、设int a=12,则执行完语句a+=a-=a*a后,a的值是________A) 552 B) 264 C) 144 D) -2646、执行下面程序中的输出语句后,输出结果是______.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 107、下面程序的输出是__________.#include<stdio.h>void main(){int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 248、下面程序的输出是___________.#include<stdio.h>void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}A) 67,D B) B,C C) C,D D) 不确定的值9、以下程序的输出结果是________.#include<stdio.h>void main(){ int x=10,y=10;printf("%d %d\n",x--,--y);}A) 10 10 B) 9 9 C) 9 10 D) 10 910、若x和y都是int型变量,x=100,y=200,且有下面的程序片段:printf("%d",(x,y));上面程序片段的输出结果是_______.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值11、阅读下面的程序#include<stdio.h>void main(){int i,j;i=010;j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是________.A) 1,19 B) -1,19 C) 1,17 D) -1,1712、阅读下面的程序#include<stdio.h>void main(){int i,j,m,n;i=8;j=10;m=++i;n=j++;printf("%d,%d,%d,%d",i,j,m,n);}程序的运行结果是_________.A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10 D) 9,10,9,1113、若已定义int a,则表达式a=10,a+10,a++的值是___.A) 20 B) 10 C) 21 D) 1114、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入1234567<回车>,则程序的运行结果是________.如对你有帮助,请购买下载打赏,谢谢!A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4515、下面程序的输出结果是________.#include<stdio.h>void main(){int a=-1, b=4, k;k=(++a<=0)&&(b--<=0);printf("%d,%d,%d\n",k,a,b);}A) 1,1,2 B) 1,0,3 C) 0,1,2 D) 0,0,316、下面程序的输出结果是_______.#include<stdio.h>void main(){int a=5,b=3;float x=3.14, y=6.5;printf("%d,%d\n",a+b!=a-b,x<=(y-=6.1));}A) 1,0 B) 0,1 C) 1,1 D) 0,017、若有以下定义和语句:int a=010, b=0x10, c=10;printf("%d,%d,%d\n",a,b,c);则输出结果是_________.A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1018、已知有double型变量x=2.5,y=4.7,整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________.A) 2.4 B) 2.5 C) 2.75 D) 019、设有以下语句:int x=10;x+=3+x%3,则x的值是._________A) 14 B) 15 C) 11 D) 1220、若d为double型变量,则表达式d=1,d+5,d++的值是_______.A) 1 B) 6.0 C) 2.0 D) 1.021、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a的值__________.A) 0 B) 1 C) 12 D) 622、若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b的值是____.A) 0 B) 2 C) 1.5 D) 123、在C语言中,以下叙述不正确的是________.A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同D) C语言中变量必须先定义后引用24、设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是________. A) 10<a<15 B) a==11||a==12||a==13||a==14C) a>10&&a<15 D) !(a<=10)&&!(a>=15)25、如果c为字符型变量,判断c是否为空格不能使用________.(假设已知空格ASCII码为32)A) if(c=='32') B) if(c==32)C) if(c=='\40') D) if(c==' ')26、执行下面程序时,若从键盘输入"2<CR>",则程序的运行结果是________.#include <stdio.h>void main( ){ int k; char cp;cp=getchar( );if (cp>='0' && cp<='9')k=cp-'0';else if (cp>='a' && cp<='f')k=cp-'a'+10;else k=cp-'A'+10;printf("%d\n",k);}A) 2 B) 4 C) 1 D) 1027、执行下面程序后,运行结果是________.#include <stdio.h>void main( ){ int x=41,y=1;if (x%3==0 && x%7==0){ y+=x;printf("y=%d\n",y);}else{y=x;printf("y=%d",y);}}A) y=41 B) y=43 C) y=42 D) y=128、运行下面程序时,从键盘输入"12,34,9<CR>",则输出结果是______.#include <stdio.h>void main( ){ int x,y,z;scanf("%d,%d,%d",&x,&y,&z);if (x<y)if (y<z)printf("%d\n",z);else printf("%d\n",y);else if (x<z)printf("%d\n",z);else printf("%d\n",x);}A) 34 B) 12 C) 9 D) 不确定的值29、运行下面程序时,从键盘输入字母H,则输出结果是________.#include <stdio.h>void main( ){ char ch;如对你有帮助,请购买下载打赏,谢谢!ch=getchar( );switch(ch){ case 'H':printf("Hello!\n");case 'G':printf("Good morning!\n");default:printf("Bye_Bye!\n");}}A) Hello! B) Hello!Good Morning!C) Hello! D) Hello!Good morning! Bye_Bye!Bye_Bye!30、执行下列程序段后的输出结果是_________.int x=1,y=1,z=1;x+=y+=z;printf("%d\n",x<y?y:x);A) 3 B) 2 C) 1 D) 431、设ch是char型变量,值为'A',则表达式ch=(ch>='A' && ch<='Z')?ch+32:ch的值是_____.A) Z B) a C) z D) A32、下面程序的输出结果是________.#include <stdio.h>void main( ){ int x=8,y=-7,z=9;if (x<y)if (y<0) z=0;else z-=1;printf("%d\n",z);}A) 8 B) 1 C) 9 D) 033、运行下面程序时,若从键盘输入"3,4 <CR>",则程序的输出结果是_______.#include <stdio.h>void main( ){ int a,b,s;scanf("%d,%d",&a,&b);s=a;if (s<b) s=b;s=s*s;printf("%d\n",s) ;}A) 14 B) 16 C) 18 D) 2034、下列程序的执行结果是_________.#include <stdio.h>void main( ){ int x=0,y=1,z=0;if (x=z=y)x=3;printf("%d,%d\n",x,z);}A) 3,0 B) 0,0 C) 0,1 D) 3,135、能够完成如下函数计算的程序段是______.┌-1 x<0y= ┤0 x=0└ 1 x>0A) y=1; B) if (x>=0)if(x!=0) if(x>0) y=1;if(x>0) y=1; else y=0;else y=0; else y=-1;C) y=0; D) y=-1;if (x>=0) if (x>0) y=1;if (x>0) y=1; else y=0;else y=-1;36、以下程序的执行结果是________.#include <stdio.h>void main( ){ int x=1,y=0;switch (x){case 1:switch (y){case 0:printf("first\n");break;case 1:printf("second\n");break;}case 2:printf("third\n");}}A) first B) firstsecond thirdC) first D) secondthird37、以下程序的执行结果是________.#include <stdio.h>void main( ){ int a,b,c,d,x;a=c=0;b=1;d=20;if (a) d=d-10;else if(!b)if (!c) x=15;else x=25;printf("d=%d\n",d);}A) d=20 B) d=10 C) d=15 D) 25如对你有帮助,请购买下载打赏,谢谢!38、下列程序执行后的输出结果是________.#include <stdio.h>void main( ){ int x,y=1,z;if ((z=y)<0) x=4;else if (y==0) x=5;else x=6;printf("%d,%d\n",x,y);}A) 4,1 B) 6,1 C) 5,0 D) 出错信息39、有如下程序#include <stdio.h>void 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\n",a,b);}该程序的输出结果是__________.A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=240、下面程序的输出结果是_________.#include <stdio.h>void main( ){ int a=-1,b=1,k;if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);elseprintf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 041、假定w、x、y、z、m均为int型变量,有如下程序段:w=1;x=2;y=3;z=4;m=(w<x)?w:x; m=(m<y)?m:y; m=(m<z)?m:z;则该程序段执行后,m的值是_________.A) 4 B) 3 C) 2 D) 142、以下程序的输出结果是_________.main( ){ int a=100;if (a>100) printf("%d\n",a>100);else printf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 143、若执行下面的程序从键盘上输入9,则输出结果是.______________#include <stdio.h>void main( ){int n;scanf("%d",&n);if (n++<10) printf("%d\n",n);else printf("%d\n",n--);}A) 11 B) 10 C) 9 D) 844、以下程序段运行结果是________.int x=1,y=1,z=-1;x+=y+=z;printf("%d\n",x<y?y:x);A) 1 B) 2 C) 4 D) 不确定的值45、有以下程序#include <stdio.h>void main( ){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是________.A) 2,1 B) 3,2 C) 4,3 D) 2,-146、运行下面程序时,若从键盘输入数据为"123",则输出结果是_______.#include "stdio.h"void main(){ int num,i,j,k,place;scanf("%d",&num);if (num>99)place=3;else if(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch (place){ case 3: printf("%d%d%d\n",k,j,i);break;case 2: printf("%d%d\n",k,j);break;case 1: printf("%d\n",k);}}A) 123 B) 1,2,3 C) 321 D) 3,2,147、执行下列程序后的输出结果是_______.如对你有帮助,请购买下载打赏,谢谢!#include <stdio.h>void main( ){ int k=4,a=3,b=2,c=1;printf("%d\n",k<a?k:c<b?c:a);}A) 4 B) 3 C) 2 D) 148、以下条件表达式中能完全等价于条件表达式if(x)中的x 的是____.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)49、若运行下面程序时,给变量a输入15,则输出结果是______.#include <stdio.h>void main( ){ int a,b;scanf("%d",&a);b=a>15?a+10:a-10;printf("%d\n",b) ;}A) 5 B) 25 C) 15 D) 1050、执行下面程序的输出结果是________.#include <stdio.h>void main( ){ int a=5,b=0,c=0;if (a=a+b) printf("****\n");else printf("####\n");}A) 有语法错误不能编译B) 能通过编译,但不能通过连接C) 输出****D) 输出####51、为了避免嵌套的if-else语句的二义性,C语言规定else总是与______组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if52、以下程序段__________.x=-1;do{x=x*x;} while (!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误53、对下面程序段描述正确的是_______.int x=0,s=0;while (!x!=0) s+=++x;printf("%d",s); A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次54、下面程序段的输出结果是_______.x=3;do { y=x--;if (!y) {printf("*");continue;}printf("#");} while(x=2);A) ## B) ##* C) 死循环D)输出错误信息55、下面程序的运行结果是_______.#include<stdio.h>void main( ){ int a=1,b=10;do{ b-=a;a++;} while(b--<0);printf("%d,%d\n",a,b);}A) 3,11 B) 2,8 C) 1,-1 D) 4,956、下面程序段的运行结果是__________.int n=0;while (n++<=2)printf("%d",n);A) 012 B) 123 C) 234 D) 错误信息57、下面程序段的运行结果是________.int x=0,y=0;while (x<15) y++,x+=++y;printf("%d,%d",y,x);A) 20,7 B) 6,12 C) 20,8 D)8,2058、下面程序的运行结果是________.#include<stdio.h>void main(){ int s=0,i=1;while (s<=10){ s=s+i*i;i++;}printf("%d",--i);}A) 4 B) 3 C) 5 D) 659、下面程序段的运行结果是________.for(x=10;x>3;x--){ if(x%3) x--;--x; --x;printf("%d ",x);}如对你有帮助,请购买下载打赏,谢谢!A) 6 3 B) 7 4 C) 6 2 D) 7 360、下面程序的运行结果是________.#include<stdio.h>void main( ){ int a,b;a=-1;b=0;do {++a;++a;b+=a;} while(a<9);printf("%d\n",b);}A) 34 B) 24 C) 26 D) 2561、下面程序段的运行结果是___________.for(i=1;i<=5;)printf("%d",i);i++;A) 12345 B) 1234 C) 15 D) 无限循环62、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int n=4;while (n--) printf("%d ",n--);}A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 063、以下程序运行后的输出结果是________.#include<stdio.h>void main(){ int i=10,j=0;do{ j=j+1; i--;}while(i>2);printf("%d\n",j);}A) 50 B) 52 C) 51 D) 864、有如下程序#include<stdio.h>void main(){ int x=23;do{ printf("%d",x--);}while(!x);}该程序的执行结果是_______A) 321 B) 23C) 不输出任何内容D) 陷入死循环65、以下程序段的执行结果是_______.int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4)m++;printf("%d\n",m);A) 12 B) 15 C) 20 D) 2566、下面程序的输出结果是___________.#include<stdio.h>void main( ){ int i;for(i=1;i<6;i++){ if (i%2!=0) {printf("#");continue;}printf("*");}printf("\n");}A) #*#*# B) ##### C) ***** D) *#*#*67、下面程序的输出结果是__________.#include<stdio.h>void main( ){ int x=10,y=10,i;for(i=0;x>8;y=++i)printf("%d %d ",x--,y);}A) 10 1 9 2 B) 9 8 7 6C) 10 9 9 0 D) 10 10 9 168、执行以下程序后,输出的结果是__________.#include<stdio.h>void main( ){ int y=10;do {y--;}while (--y);printf("%d\n",y--);}A) -1 B) 1C) 8D) 069、有如下程序#include<stdio.h>void main( ){ int n=9;while(n>6) {n--;printf("%d",n);}}该程序段的输出结果是__________.A) 987 B) 876 C) 8765 D) 987670、有如下程序#include<stdio.h>void main( ){ int i,sum=0;如对你有帮助,请购买下载打赏,谢谢!for(i=1;i<=3;sum++) sum+=i;printf("%d\n",sum);}该程序的执行结果是___________.A) 6 B) 3 C) 死循环D) 071、以下循环体的执行次数是_______#include<stdio.h>void main( ){ int i,j;for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i);}A) 3 B) 2 C) 1 D) 072、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为________.#include <stdio.h>void main( ){ char ch;while ((ch=getchar( ))!='\n'){ if (ch>='A' && ch<='Z') ch=ch+32;else if (ch>='a' && ch<'z') ch=ch-32;printf("%c",ch);}printf("\n");}A) ABCdef B) abcDEF C) abc D) DEF73、下面程序的输出结果是__________.main( ){int i,k=0, a=0, b=0;for(i=1;i<=4;i++){k++;if (k%2==0) {a=a+k; continue;}b=b+k;a=a+k;}printf("k=%d a=%d b=%d\n",k,a,b);}A) k=5 a=10 b=4 B) k=3 a=6 b=4C) k=4 a=10 b=3 D) k=4 a=10 b=474、执行下面程序段后,k的值是_________.int i,j,k;for(i=0,j=10;i<j;i++,j--)k=i+j;A) 9 B) 11 C) 8 D) 1075、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入。

C语言模拟试卷及答案

C语言模拟试卷及答案

C语言模拟试卷及答案____―____学年第一学期《C语言程序设计》模拟试卷(B)一、单项选择题(每题1分,共30分)1.C语言程序总是从______开始执行。

A)第一条语句B)第一个函数C)主函数D)子程序2.以下选项中正确的C语言标识符是______。

A)a+bB)3Dma_C)_25D)ó.以下选项中正确表示字符型常量的是______。

A)’\\t’B)\C)’abc’D)’279’4.以下选项中属于C语言基本数据类型的是______。

A)逻辑型B)双精度型C)复数型D)集合型5.已知:inta=8,b=5,c;,则执行语句c=a%b+0.3;后,c的值是______。

A)1B)1.3C)3D)3.36.设在程序中的a,b,c均被定义为整型并且已赋予大于1的值,能正确表示代数式1 的表达式abc是______。

A)1/a_b_cB)1/(a_b_c)C)1/a/b/(float)cD)1.0/a/b/c7.已知字符’A’的ASCII 码值为十进制数65,则执行语句printf(\______。

A)AB)CC)65D)678.已知:inti=1;,则执行语句printf(\A)1B)2C)-1D)-29.以下选项中,和语句__=y+2;等价的是______。

A)_=__y+2;B)y=__(y+2);C)_=y+2__;D)_=__(y+2);10.以下选项中能正确判断字符变量c不是大写字母的表达式是______。

A)c’Z’B)!(c’Z’)C)c>=‘A’||c=‘A’__cvoidmain()—1—{inta=3,b=-1,c =1;if(a=y)__(y>=z)B)(_>=y)AND(y>=z)C)_>=y>=zD)(_>=y)||(y>=z)17.已知:inti=5;,则执行语句while(ivoidmain(){intn=9;while(n>6){n--;printf(\}A)987B)9876C)8765D)87 619.执行以下程序后,输出结果是______。

自考c语言试题及答案

自考c语言试题及答案

自考c语言试题及答案C语言是一门非常重要的编程语言,也是计算机科学专业学生必学的一门课程。

为了帮助自考学生更好地备考和复习,本文将提供一些C语言试题及答案。

1. 下面哪个选项可以正确定义一个整数变量?a) int x;b) integer x;c) x int;d) int x = 5;答案:a) int x;2. C语言中的逻辑运算符是什么?a) &&b) ||c) !d) &答案:a) && 和 b) ||3. 下面哪个选项可以正确输出 Hello World!?a) printf("Hello World!);b) print("Hello World!");c) printf("Hello World!");d) print("Hello World!);答案:c) printf("Hello World!");4. 在C语言中,如何向屏幕输出一个整数变量的值?a) print(x);b) printf("%d", x);c) cout << x;d) console.log(x);答案:b) printf("%d", x);5. 下面哪个选项是正确的if语句的语法?a) if x == 5 { printf("x is 5"); }b) if (x == 5) { printf("x is 5"); }c) if x = 5 { printf("x is 5"); }d) if (x = 5) { printf("x is 5"); }答案:b) if (x == 5) { printf("x is 5"); }6. 下面哪个选项可以正确定义一个包含5个整数元素的数组?a) int arr[5] = {1, 2, 3, 4, 5};b) int arr[] = {1, 2, 3, 4, 5};c) int arr[5] = {1, 2, 3};d) int arr[5];答案:a) int arr[5] = {1, 2, 3, 4, 5};7. 在C语言中,如何定义一个函数?a) function sum(int x, int y) { return x + y; }b) void sum(int x, int y) { return x + y; }c) int sum(x, y) { return x + y; }d) int sum(int x, int y) { return x + y; }答案:d) int sum(int x, int y) { return x + y; }8. 下面哪个选项可以正确地输入用户的整数输入值?a) cin >> x;b) scanf("%d", x);c) printf("%d", x);d) gets(x);答案:b) scanf("%d", x);9. 如何使用循环语句输出1到10之间的所有偶数?答案:使用for循环或while循环都可以实现此要求。

C语言试题与答案

C语言试题与答案

大学C语言考试题库第1章 C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。

A. AB. BC. DD. E(2) 在 C 语言中,每个语句必须以 D 结束。

A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。

A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。

A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。

A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。

A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 32 个关键字和 9 种控制语句。

(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。

(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。

(5) C 语言的程序中有特殊含义的英语单词称为保留字。

(6) C 语言标识符的长度是前 8 位有效。

(7) C 语言中,标识符的定义规则是以字母或下划线为开头。

c语言试卷含答案完整版

c语言试卷含答案完整版

c语言试卷含答案集团标准化办公室:[VV986T-J682P28-JP266L8-68PNN]一、选择题(26分)1. 正确的C语言标识符是(A)。

A._buy_2 B.2_buy C._buy D.buy2. 以下选项中,合法转义字符的选项是(A)。

A.’\\’ B.’\018’ C.’xcb’ D.’\ab3、下列语句中,错误的是(B )A、#define PIB、#include <>;C、if(2);D、for(;;) if(1) break;4、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是()A、 a>=10 or a<=0B、 a>=0|a<=10C、 a>=10 &&a<=0D、 a>=10‖a<=05、以下对break语句使用的正确描述是()A、可以出现在程序中的任何位置B、只能出现在循环结构中或switch结构中C、只能出现在switch结构中D、只能出现在循环结构中6. C语言程序的基本单位是(C)。

A.程序行 B.语句 C.函数 D.字符7、已知各变量的类型说明如下:()int m=6,n, a, b;unsigned long w=8;double x=, y=;则以下符合C语言语法的表达式是(A)。

A.a+=a-=(b=2)*(a=8) B. n=n*3=18C.x%3 D.y=float (m)8、已有定义:char x[]=“ab”,y[ ]={‘a’,’b’ };,以下叙述中正确的是( C)A、数组x和y的长度相同B、x数组长度小于y数组长度C、x数组长度大于y数组长度D、上述说法都不对9、设有定义“int x=3,y,*p=&x”,则下列语句中使y不为3的语句是(D )A、y=*&xB、y=*pC、y=xD、y=&x10、设x、y、z均为int型变量,则执行语句:x=y=3;z=++x||++y;后,y的值为()A、不定值B、4C、3D、111.有如下程序段:int x1,x2;char y1,y2;scanf(”%d%c%d%c”,&x1,&y1,&x2,&y2);若要求x1、x2、y1、y2的值分别为10、20、A、B,正确的数据输入是(A)。

C语言模拟题目及答案

C语言模拟题目及答案

C语言模拟题目及答案一.选择题:1.设float x,y;则以下不合法的赋值语句是______。

x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。

15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。

for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。

char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc";5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。

是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。

3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。

3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。

算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。

n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。

自考c程序设计试题及答案

自考c程序设计试题及答案

自考c程序设计试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. typedefD. enum答案:A2. 下列哪个选项不是C语言中合法的变量名?A. _123B. nameC. 2variableD. variable_name答案:C3. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcatB. strcpyC. strcmpD. strlen答案:B4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==答案:A5. 在C语言中,以下哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:D6. 下列哪个选项是C语言中的文件操作函数?A. printfB. scanfC. fopenD. fclose答案:C7. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D8. 下列哪个选项是C语言中的数组声明?A. int a[10];B. int a[];C. int a=10;D. int a;答案:A9. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A10. 下列哪个选项是C语言中的条件语句?A. ifB. switchC. forD. while答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. C语言中,用于定义一个变量值不变的关键字是________。

答案:const3. C语言中,用于定义一个浮点型变量的关键字是________。

答案:float4. 在C语言中,用于定义一个字符型变量的关键字是________。

  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);}程序运行结果:____________________五、程序填空题(根据题意要求,将程序补充完成。

相关文档
最新文档