C语言考试试题

合集下载

(完整word)C语言考试试题.

(完整word)C语言考试试题.
A.int max(x,y);B.static char c;C.#define PI 3。141592D.#define S 345
24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);

C语言考试试题及答案

C语言考试试题及答案

《C语言》考卷一单选题(每题2分,共25题,共50分)1.要把高级语言编写的源程序转换为目标程序,需要使用( )[2分][2分]A.编辑程序B.驱动程序C.诊断程序D.编译程序参考答案:D2.以下叙述中正确的是( )[2分][2分]A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D.main可作为用户标识符,用以命名任意一个函数作为主函数参考答案:C3.若变量a是int类型,并执行了语句:a=‘A'+1.6;,则正确的叙述是( )[2分][2分] int a int a=66 = 65 + 1.6 =66.6A.a的值是字符BB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符‘A’的ASCII值加上2参考答案:Aint a = ‘A’;char b = 65;4.若变量已正确定义并赋值,以下符合C语言语法的表达式是( )[2分][2分]A.a:=b+1B.a=b=c+2C.18.5%3D.a=a+7=c+b参考答案:B5.下列可用于C语言用户标识符的一组是( )[2分][2分]A.void, define, WORDB.a3_b3, _123,carC.For, -abc, IF CaseD.2a, DO, sizeof参考答案:B6.若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是( )[2分][2分]A.scanf("%d",a,b,c);B.scanf("%d%d%d",a,b,c);C.scanf("%d",p); //scanf(“%d”,&c);D.scanf("%d",&p);参考答案:C7.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( )[2分][2分]A.均占4个字节B.根据数据的大小来决定所占内存的字节数 // long a = 1 int b = 1000000C.由用户自己定义D.由C语言编译系统决定参考答案:D8.若变量已正确定义,有以下程序段i=0;do{printf("%d,",i); //0}while(i++); //while(0) i=1printf("%d\n",i); //1其输出结果是( )[2分][2分]A.0,0B.0,1C.1,1D.程序进入无限循环参考答案:B9.有以下计算公式则不能够正确计算上述公式的程序段是( )(提示:库函数sqrt()用来求一个数的平方根)[2分][2分]A.if(x>=0) y=sqrt(x); else y=sqrt(-x); //if/else配合使用B.y=sqrt(x) if(x<0) y=sqrt(-x);C.if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x); //if单独使用D.y=sqrt(x>=0?x:-x);参考答案:B10.设有条件表达式:EXP ? i++ : j--;则以下表达式与之完全等价的是( )[2分][2分]A.(EXP==0)? i++ : j--;B.(EXP!=0)? i++ : j--;C.(EXP==1)? i++ : j--;D.(EXP!=1)? i++ : j--;参考答案:B11.有以下程序#include<stdio.h>int main(void){int y=9;for( ; y>0; y--){if(y%3 == 0)printf("%d",--y);}}程序的运行结果是( )[2分][2分]A.741B.963C.852D.875421参考答案:C12.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )[2分][2分]A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元 //局部变量C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元参考答案:D13.已知字符‘A’的ASCⅡ代码值是65,字符变量c1的值是‘A’,c2的值是‘D’。

全国计算机等级考试c语言试题及答案

全国计算机等级考试c语言试题及答案

全国计算机等级考试c语言试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级编程语言B. C语言可以直接在操作系统上运行C. C语言具有结构化的特点D. C语言具有丰富的库函数答案:B2. 在C语言中,用于定义数组的关键字是:A. structB. enumC. unionD. int答案:D3. 下列关于指针的描述中,正确的是:A. 指针可以存储函数的地址B. 指针不能存储变量的地址C. 指针不能存储数组的地址D. 指针不能存储指针的地址答案:A4. 在C语言中,用于定义结构体的关键字是:A. structB. unionC. enumD. typedef答案:A5. 下列关于循环的描述中,错误的是:A. for循环可以嵌套使用B. while循环不能嵌套使用C. do-while循环至少执行一次D. 循环语句可以没有循环体答案:B6. 在C语言中,用于定义函数的关键字是:A. structB. unionC. enumD. int答案:D7. 下列关于文件操作的描述中,错误的是:A. 文件指针是指向文件的指针B. 文件操作需要包含头文件stdio.hC. 文件操作只能使用二进制方式打开D. 文件操作可以使用"r"、"w"、"a"等模式答案:C8. 在C语言中,用于定义枚举的关键字是:A. structB. unionC. enumD. typedef答案:C9. 下列关于预处理指令的描述中,错误的是:A. #include用于包含头文件B. #define可以定义宏C. #ifdef可以用于条件编译D. #pragma可以用于编译器指令答案:C10. 在C语言中,用于定义联合的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是______。

C语言试题库(含答案)

C语言试题库(含答案)
C、Print f("%c\n",class[2].name[l]);
D、print f("%c\n",class[2].name[0]);
标准答案:D
【5】设单精度变量f,g的值均为5.0,则下面的表达式中,使f为10.0的表达式是。
A、f+=g
B、f-=g+5
C、f*=g-5
D、f/=g*5
标准答案:A
if(ch=='/')w=a/b;
B、B)if(ch=='*')w=a*b;
else if(ch=='/')w=a/b;
if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
C、if(ch=='+')w=a+b;
else if(ch=='-')w=a-b;
if(ch=='*')w=a*b;
A、15
B、10
C、25
D、20
标准答案:A
【15】程序段的基本结构中,不包含()。
A、函数结构
B、循环结构
C、顺序结构
D、分支结构
标准答案:A
【1】执行语句scanf("%d,%d",&m,&n);使m和n的值分别为1和2,正确输入是。
A、1
B、2
C、1,2
D、12
标准答案:c
【3】若用数组名作为函数调用的实参,传递给形参的是()。
#include<stdio.h>
main()
{int i=1;

c语言考试试题

c语言考试试题

c语言考试试题一、选择题1. C语言中,用于表示整数常量的是()。

A. 123.45B. 0x1A3C. 0177D. 1e62. 下列哪个关键字用于定义一个循环,该循环会一直执行直到给定条件不满足为止?()。

A. doB. whileC. forD. if3. 在C语言中,用于动态分配内存空间的函数是()。

A. mallocB. freeC. callocD. realloc4. 下列关于指针的说法,错误的是()。

A. 指针是一种特殊类型的变量,其值为另一个变量的地址。

B. 指针可以被解引用来获取其所指向的内存中存储的值。

C. 指针的算术运算是合法的。

D. 指针不能被赋值为非整数值。

5. 在C语言中,用于字符串连接的函数是()。

A. strcatB. strcmpC. strcpyD. strlen二、填空题1. 在C语言中,一个基本的整型变量(int)通常占用的内存大小是______字节。

2. 如果一个函数需要返回两个值,它必须返回一个______类型的结构体。

3. 在C语言中,使用关键字______可以定义一个不占用存储空间的临时变量。

4. 为了在C语言程序中引入标准输入输出库函数,需要在程序顶部包含的头文件是______。

5. 一个C语言程序由______组成,它是程序执行的起点。

三、判断题1. 在C语言中,所有的函数都必须有一个返回类型。

()2. 任何在main函数中定义的局部变量都可以在main函数之外被访问。

()3. 在C语言中,数组的大小可以在运行时确定。

()4. 字符串在C语言中是一个以空字符'\0'结尾的字符数组。

()5. 通过使用const关键字,可以声明一个只读的变量。

()四、简答题1. 请简述C语言中的指针和数组的关系。

2. 解释C语言中的结构体,并给出一个使用结构体的例子。

3. 什么是递归函数?请举例说明。

4. 描述动态内存分配的过程,并说明其优缺点。

C语言试卷(含答案)

C语言试卷(含答案)

一、单项选择题(每小题2分,共40分)1、sizeof(float)是()A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式2、设i是int型变量,f是float型变量,用下面的语句给这两个变量输入值: scanf("i=%d,f=%f",&i,&f);为了把100和分别赋给i和f,则正确的输入为()。

A. 100B. i=100,f=765.12C. 100<回车>D. x=100y=3、#include<>voidmain(){inta=3,b=2,c=1;intx=10,y=20;if(a<b)if(b!=0)if(!x)y=1;elseif(x)y=0;y=-1;printf("%d",y);}上面的C程序的输出结果是()。

A. 20B. 1C. 0D. -14、C语言中,while和do…while循环的主要区别是()。

A. do…while的循环体至少无条件执行一次B. while的循环控制条件比do…while的循环控制条件严格C. do…while允许从外部转到循环体内D. do…while的循环体不能是复合语句5、执行下面的C程序段后,输出结果是()。

inta=5;while(a--);printf("%d",a);A. 54321B. 4321C. 0D. -16、在C语言中,()是在所有函数外部声明的。

A. 全局变量B. 局部变量C. 形参D.实参7、分析下面的C程序:#include<>voidmain(){intnum=0;while(num<=2){num++;printf("%d",num);}}输出结果是()。

A. 123B. 012C. 23D. 128、下面的C语言代码段的输出结果是()。

C语言基础知识测试题-全面完整

C语言基础知识测试题-全面完整

基础知识测试题一.单项选择题1.以下不正确的C语言标识符是(D )A. ABCB. abcC. a_bcD. ab.c2.以下正确的C语言标识符是( C)A. %xB. a+bC. a123D. test!3.一个C语言程序的执行是从(A )。

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

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

A. 一个主程序和若干个子程序组成B.一个或多个函数组成C.若干过程组成D.若干子程序组成6.C语言源程序的基本单位是(B)。

A. 过程B. 函数C. 子程序D. 标识符7.编辑程序的功能是(A)。

A. 建立并修改程序C.将C源程序编译成目标程序D.调试程序E.命令计算机执行指定的操作8.C编译程序是(D)。

A. C语言程序的机器语言版本B. 一组机器语言指.D. 将C源程序编译成目标程序的程序F. 由制造厂家提供的一套应用软件B9.不属于字符型常量的是( D )A.'A'B."B"C.'\n'D.'\x72'10 .设char ch; 以下正确的赋值语句是:(B )A.ch='123';B.ch='\xff';C.ch='\08';D.ch="\";11 .以下使i的运算结果为4的表达式是(D )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;A12 .若t为double类型,表达式t=1,t+5,t++的值是(D)A.1B.6.0 CC13.设整型变量m,n,a,b,c,d均为1,执行“(m=a>b)&&(n=a>b)”后m,n的值是( B)A.0,0B.0,1C.1,0D.1,1B14 .执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为(CA.3,3,2B.3,2,2C.3,2,3D.2,3,2B15 .若a=1,b=2,c=3,d=4,则条件表达式a<b?a:a<d?c:d的值为(A )A.1B.2C.3D.416 .设int n=7;则++n+1= =9的结果是(C )A.trueB.falseC.1D.017 .设a=2,b=2;则++a+b的结果是(d),a的结果是(b),b的结果是(a)A.2B.3C.4D.518 .设a=2,则执行b=a==!a;语句后,b的结果是( A)A.0B.1C.2D.319 .设有以下语句,则c的二进制值是()char a=3,b=6,c;c=a^b<<2;A.00011011B.00010100C.00011100D.0001100020 .在C语言类型说明中,int、char、short等类型的长度是( A )A.固定的B.由用户自己定义的C.任意的D.与机器字的长度有关的二.填空题1.C语言中的标识符只能由三种字符组成,它们是、、。

全国计算机c语言试题及答案

全国计算机c语言试题及答案

全国计算机c语言试题及答案一、选择题1. 下列哪个选项不是C语言的基本数据类型?- A. int- B. float- C. string- D. double2. 以下哪个是正确的C语言变量声明?- A. var int a;- B. int a = 0;- C. int a = 0.0;- D. int a = '0';3. 在C语言中,以下哪个是合法的数组初始化?- A. int arr[5] = {1, 2, 3};- B. int arr[5] = {1, 2, 3, 4};- C. int arr[5] = {1, 2, 3, 4, 5, 6};- D. int arr[5] = {1, 2, 3, 4.5, 5};4. 以下哪个是C语言中的函数原型?- A. void myFunction();- B. myFunction();- C. int myFunction(int, int);- D. myFunction(int a, int b);5. 在C语言中,以下哪个是正确的字符串常量?- A. "Hello World"- B. 'Hello World'- C. "Hello\nWorld"- D. "Hello\World"二、填空题1. 在C语言中,一个变量的声明必须在______。

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

3. 用于输入输出的函数分别是______和______。

4. 一个数组的元素可以通过______访问。

5. 在C语言中,一个字符串常量以______结尾。

三、简答题1. 解释C语言中指针的概念及其用途。

2. 描述C语言中函数的作用域。

3. 简述C语言中结构体的定义和使用。

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

2. 编写一个C语言函数,实现字符串的反转。

c语言试题及答案大全

c语言试题及答案大全

c语言试题及答案大全一、选择题1. 下列关于C语言的说法中,正确的是:A. C语言是一种高级编程语言。

B. C语言可以被编译成机器语言执行。

C. C语言的语法和C++完全相同。

D. C语言不支持面向对象的编程。

答案:B. C语言可以被编译成机器语言执行。

2. C语言中,以下哪个是合法的标识符?A. 123abcB. abc_123C. intD. function()答案:B. abc_1233. 在C语言中,以下哪种循环结构是先判断条件后执行循环体?A. for循环B. while循环C. do-while循环D. switch语句答案:C. do-while循环二、编程题1. 编写一个C程序,计算并输出1到n之间所有整数的和。

其中,n由用户输入。

答案:#include <stdio.h>int main() {int n;int sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("1到%d之间所有整数的和为%d\n", n, sum);return 0;}2. 编写一个C程序,判断一个整数是否为素数。

素数是指除了1和自身外,无法被其他整数整除的整数。

答案:#include <stdio.h>#include <stdbool.h>bool is_prime(int num) {if (num <= 1) {return false;}for (int i = 2; i * i <= num; i++) {if (num % i == 0) {return false;}}return true;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (is_prime(num)) {printf("%d是素数\n", num);} else {printf("%d不是素数\n", num);}return 0;}三、应用题1. 假设有一个班级的学生信息如下:学号姓名年龄性别101 张三 18 男102 李四 17 女103 王五 16 男请根据上述学生信息,编写一个C程序,输出学生的平均年龄。

c语言考试题及答案

c语言考试题及答案

c语言考试题及答案C语言考试题及答案一、选择题(每题2分,共20分)1. 下列哪个是C语言的合法标识符?A. 3variableB. variable3C. variable-3D. variable#3答案:B2. C语言中,哪个关键字用于定义一个函数?A. functionB. defineC. voidD. int答案:D3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A4. C语言中,以下哪个是正确的数组声明?A. int array[10];B. int [10] array;C. int array = 10;D. int 10[array];答案:A5. 在C语言中,哪个运算符用于求两个数的余数?A. %B. /C. //D. ÷答案:A二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。

答案:int, float, double, char等2. 一个C程序的执行从________函数开始。

答案:main3. 在C语言中,________运算符用于连接字符串。

答案:+4. 在C语言中,________关键字用于声明一个数组。

答案:array5. 一个C程序中,________语句用于结束程序的执行。

答案:return三、简答题(每题10分,共20分)1. 请简述C语言中指针的概念及其用途。

答案:指针是一种变量,它存储了另一个变量的内存地址。

指针的主要用途包括动态内存分配、数组操作、函数参数传递等。

2. 解释C语言中的递归函数,并给出一个简单的例子。

答案:递归函数是指在函数内部调用自身的函数。

递归通常用于解决可以分解为相同问题的子问题的问题,如阶乘计算、斐波那契数列等。

(完整版)C语言试题库(完整版)

(完整版)C语言试题库(完整版)

C语言试题库一、单项选择第一章 C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束。

B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面。

B、 C程序的每行中只能写一条语句。

C、 C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3) C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、 C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define , IF, typeB、getc, char, printfC、include, scanf, caseE、 if, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0, _AC、b-a, goto, intD、_123, temp, INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a, b;unsinged long w=5;double x=1.42;则以下不符合C语言语法的表达式是A、x%(-3)B、w+=-2;C、k=(a=2,b=3,a+b)D、a+=a-=(b=4)*(a=3)第三章简单C程序设计(1)putchar函数可以向终端输出一个A、整型变量表达式值B、实型变量值C、字符串D、字符或字符型变量值(2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z);B、scanf(“%2d*%d%lf”,&x,&y,&z);C、scanf(“%x%*d%o”,&x,&y,&z);D、scanf(“%x%o%6.2f”,&x,&y,&z);(3)当输入数据的形式为:25,13,10<回车>时,以下程序的输出结果为main(){int x,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A、x+y+z=48B、x+y+z=35C、x+z=35D、不确定值(4) 以下能正确的定义整型变量a,b和c,并对它们赋初值为5的语句是A、int a=b=c=5;B、int a, b, c=5;C、a=5, b=5, c=5;D、a=b=c=5;(5) 若有以下定义,则正确的赋值语句是int a,b; float x;A、a=1, b=2;B、b++;C、a=b=5;D、b=int(x);第四章选择结构程序设计(1)能正确表示“当x的值在[1,10]和[200,210]的范围为真,否则为假”的表达式是A、(x>=1)&&(x<=10)&&(x.>=200)&&(x<=210)B、(x>=1)││(x<=10) ││(x.>=200) ││(x<=210)C、(x>=1) &&(x<=10) ││(x.>=200) &&(x<=210)D、(x>=1)││(x<=10)&& (x.>=200) ││(x<=210)(2)以下程序的运行结果是#include “stdio.h”main(){int a,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A、6,1B、2,1C、6,0D、2,0(3)请阅读以下程序:main(){int a=5 , b=0 , c=0;if (a+b+c) printf(“* * *\n”); else printf(“$ $ $\n”); }以上程序。

c语言等级考试试题

c语言等级考试试题

c语言等级考试试题C语言等级考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是基本数据类型?A. intB. floatC. doubleD. string2. 以下哪个是正确的C语言常量定义方式?A. const int Max = 100;B. int const Max = 100;C. const int max = 100;D. int const max = 100;3. 在C语言中,以下哪个语句可以正确地声明一个指针变量?A. int *ptr;B. ptr int;C. int *ptr = 0;D. int ptr = 0;4. 以下哪个表达式的结果为真?A. 5 > 3B. 'A' == 65C. 10 % 3 == 1D. All of the above5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()6. 以下哪个循环语句可以正确地实现从1到10的计数?A. for (int i = 10; i >= 1; i--)B. for (int i = 1; i <= 10; i++)C. while (int i = 1; i <= 10; i++)D. do { int i = 1; } while (i <= 10);7. 在C语言中,以下哪个关键字用于定义函数?A. ifB. elseC. functionD. void8. 以下哪个是C语言中正确的数组声明?A. int array[10] = {0};B. int array[] = {0, 1, 2, 3};C. int array[10] = 0;D. int array = {0, 1, 2, 3};9. 在C语言中,以下哪个操作符用于计算两个数的乘积?A. +B. -C. *D. /10. 以下哪个选项是C语言中的条件运算符?A. &&B. ||C. ? :D. ++二、填空题(每空2分,共20分)11. 在C语言中,`printf`函数用于______。

c语言考试试题及答案

c语言考试试题及答案

c语言考试试题及答案C语言考试试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. StringC. intD. array答案:A2. C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C3. 在C语言中,以下哪个是正确的字符串定义?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. string str[10] = "Hello";答案:A4. 下列哪个选项是C语言中数组的正确声明方式?A. int array[10];B. int array(10);C. int array = 10;D. int array = {10};答案:A5. 在C语言中,哪个函数用于计算两个数的最大值?A. max()B. min()C. abs()D. pow()答案:A6. 以下哪个是C语言中的逻辑运算符?A. &&B. ||C. %D. /答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. voidD. int答案:C8. C语言中,以下哪个语句用于结束一个循环?A. continue;B. break;C. return;D. exit;答案:B9. 在C语言中,哪个函数用于打印输出?A. printf()B. print()C. display()D. show()答案:A10. 以下哪个选项是C语言中正确的条件语句?A. if (x = 10)B. if (x == 10)C. if (x : 10)D. if (x / 10)答案:B二、填空题(每空2分,共20分)1. C语言中,用于定义变量的关键字是________。

c语言c语言考试题库及答案

c语言c语言考试题库及答案

c语言c语言考试题库及答案一、选择题1. 在C语言中,用于定义变量的关键字是:A. defineB. varC. intD. let答案:C2. 下列哪个是C语言中的合法标识符?A. 2variableB. variable2C. variable-twoD. variable#答案:B3. 在C语言中,哪个运算符用于计算两个数的乘积?A. +B. -C. *D. /答案:C4. C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\tWorld"答案:A5. 以下哪个是C语言中的控制语句?A. ifB. switchC. both A and BD. none of the above答案:C二、填空题6. 在C语言中,一个基本的程序结构包括____、____和____。

答案:预处理指令;函数定义;语句7. 一个C语言程序的执行从____函数开始。

答案:main8. 在C语言中,使用____关键字可以定义一个函数。

答案:void 或其他数据类型9. 一个C语言数组的元素默认情况下是按照____顺序存储的。

答案:连续10. C语言中的____运算符用于连接字符串。

答案:+三、简答题11. 解释C语言中指针的概念。

答案:指针是一种变量,它存储了另一个变量的内存地址。

通过指针,可以直接操作内存地址中的数据,实现数据的间接引用。

12. 描述C语言中结构体的定义和使用。

答案:结构体是一种用户自定义的数据类型,它允许将多个不同类型的变量组合成一个单一的类型。

定义结构体时,使用struct关键字,然后定义结构体的名称和成员。

使用结构体时,可以创建结构体变量,并通过点(.)运算符访问其成员。

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

c语言考试试题及答案

c语言考试试题及答案

c语言考试试题及答案一、选择题1. 在C语言中,下列哪个关键字用于声明一个变量的名称?A. defineB. intC. printfD. scanf答案:B2. 函数的返回类型可以是下列哪种类型?A. intB. floatC. charD. all of the above答案:D3. 下列哪个运算符用于访问结构体变量的成员?A. .B. ->C. :D. ,答案:A4. 文件指针是下列哪种类型?A. FILEB. pointerC. file*D. fp答案:A5. 下面哪个循环结构在执行前先判断条件,再决定是否执行循环体?A. forB. whileC. do-whileD. switch答案:B二、填空题1. C语言中,用于定义常量的关键字是____。

答案:const2. 在C语言中,用于输出结果到控制台的函数是____。

答案:printf3. C语言中,用于读取用户输入的函数是____。

答案:scanf4. 下面是一个二维数组的声明方式:int arr[3][4];那么该数组的元素个数是____。

答案:125. C语言中,用于在循环执行过程中跳过当前迭代的关键字是____。

答案:continue三、编程题请编写一个程序,实现从键盘输入两个整数,然后输出它们的和。

```c#include <stdio.h>int main(){int num1, num2, sum;printf("请输入第一个整数:");scanf("%d", &num1);printf("请输入第二个整数:");scanf("%d", &num2);sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```以上是一道简单的示例题目,通过该题目可以熟悉C语言的基本输入输出、变量声明和运算符等基础知识。

c语言 测试题

c语言 测试题

第3章一、单项选择题1. 在一个C程序中(B )。

A.)main函数必须出现在所有函数之前B)main函数可以在程序任何位置出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置2.在PC机中,’\n’在内存占用的字节数是( A )。

A)1 B)2 C)3 D)43. 下列关于C语言用户标识符的叙述中正确的是(B )A)用户标识符中可以出现下划线和中划线(减号)B)用户标识符中不可以出现中划线(减号),但可以出现下划线C)用户识符中可以出现下划线,但不可以放在用户标识符的开头D)用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头4. 以下叙述中正确的(D )。

A.)输入项可以是一个实型常量,例如:scanf("%f",3.5);B.)只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d");C.)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f ",&f);D.)当输入数据时,必须指明变量地址,例如:scanf("%f ",&f);5.设整型变量i的值为3,则计算表达式i---i后i的值为( A )。

A)0 B)1 C)2 D)表达式出错6.设整型变量a,b,c均为2,表达式a+++b+++c++的结果是( A )。

A)6 B)9 C)8 D)表达式出错7. 以下选项中合法的用户标识符是( B )。

A)long B)_2test C)3Dmax D )A.dat8.设有语句int a=3;,则执行了语句a+=a-=a*a;后,变量a的值是( D )。

A)3 B)0 C) 9 D)-129.在以下一组运算符中,优先级最高的运算符是( C )。

A)<= B)= C)% D)||10.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中值为0的是( D )。

C语言练习测试题(带参考答案)-绝对经典题目不看后悔

C语言练习测试题(带参考答案)-绝对经典题目不看后悔

1单选题1.(A)是构成C语言程序的基本单位。

A、函数B、过程C、子程序D、子例程2.C语言程序从C开始执行。

A)程序中第一条可执行语句???B)程序中第一个函数???C)程序中的main函数?????????D)包含文件中的第一个函数3、以下说法中正确的是(C)。

选项3)6.下列C选项A D中的“-”不满足(1);7.下列四组选项中,正确的C语言标识符是(C)。

A)%xB)a+bC)a123D)123选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2)8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。

A、print_3ddb8aBcB、I\amone_halfstart$it3paiC、str_1CpppowwhileD、PxqMy->bookline#His.age选项B中的“\”,”$”,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键字,不满足(3)9.C语言中的简单数据类型包括(D)。

A、整型、实型、逻辑型B、整型、实型、逻辑型、字符型C、整型、字符型、逻辑型D、整型、实型、字符型10.在C语言程序中,表达式5%2的结果是C。

A)2.5B)2 C)1D)3详见教材P52~53.%为求余运算符,该运算符只能对整型数据进行运算。

且符号与被模数相同。

5%2=1;5%(-2)=1;(-5)%2=-1;(-5)%(-2)=-1;/为求商运算符,该运算符能够对整型、字符、浮点等类型的数据进行运算,5/2=211.如果inta=3,b=4;则条件表达式"a<b?a:b"的值是__A__。

详见教材表达式1若表达式若表达式此题中的a为3,b为14.下面(D)14~16详见教材(1(2型。

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3.选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B11.0/3=3.666666选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B 同选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为415.设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是(B)A.b=1.0/aB.b=(float)(1/a)C.b=1/(float)aD.b=1/(a*1.0)16.若“intn;floatf=13.8;”,则执行“n=(int)f%3”后,n的值是(A)A.1B.4C.4.333333D.4.6“(int)f“表示将f中的值强制类型转换为整型,即将13.8的小数部分舍掉,转换为13;然后计算13%3,结果为1,再将结果赋给变量n,因此n的值为117.以下对一维数组a的正确说明是:DA)chara(10);B)inta[];C)intk=5,a[k];D)chara[3]={‘a’,’b’,’c’};详见教材P143~144,一维数组的定义、初始化类型符数组名[常量表达式]类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;常量表达式是指数组的长度(数组中包含元素的个数)选项B,详见教材选项A19.在C详见教材数组名[下标inta[10]表示定义了一个包含10个整型数据的数组a,数组元素的逻辑地址下标范围为0~9,即a[0]表示组中第1个元素;a[1]表示组中第2个元素;a[2]表示组中第3个元素;......;a[9]表示组中第10个元素.选项A,超过了数组a的逻辑地址下标范围;选项B,逻辑地址下标只能为整数选项C,逻辑地址下标只能放在[]中21.若有以下数组说明,则i=10;a[a[i]]元素数值是(C)。

c语言等级考试试题

c语言等级考试试题

c语言等级考试试题一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef2. 下列哪个选项不是C语言的标准输入输出函数?A. printf()B. scanf()C. coutD. getchar()3. 在C语言中,全局变量的生命周期是?A. 只在定义它的函数中有效B. 从定义开始到程序结束C. 只在main函数中有效D. 只在定义它的代码块中有效4. C语言中,以下哪个操作符用于按位取反?A. !B. ~C. ^D. &&5. 下列哪个不是C语言中合法的赋值运算符?A. +=B. +=C. --D. ++6. 在C语言中,int类型的变量通常占用多少字节的内存空间?A. 1B. 2C. 4D. 87. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strncat()8. 下列哪个是C语言中的条件运算符?A. ?B. ||C. &&D. ++9. 在C语言中,以下哪个类型用于表示字符?A. intB. charC. floatD. double10. C语言中,以下哪个函数用于计算并返回字符串的长度?A. strlen()B. strcat()C. strcpy()D. strncat()二、填空题(每题3分,共15分)11. 在C语言中,一个浮点数变量声明为 `float x;`,其默认的初始值是______。

12. 当使用 `scanf()` 函数读取字符串时,通常会使用占位符______。

13. 在C语言中,`sizeof` 运算符可以用来获取数据类型或变量的______。

14. 如果一个变量声明为 `static int count;`,那么它的生命周期是 ______。

15. C语言中的 `break` 语句通常用于 ______ 结构中,以提前退出循环。

  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.Char a;b;c;C.Char a,b,c;D.Char a,b,c3.main(){ int n;(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.指针变量可以赋任意整数,但不能赋浮点数。

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

A.WhileB. NameC. 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.程序中定义以下宏#define S(a,b)a*b,若定义int area;且令area=S(3+1,3+4),则变量area的值为(A)A 10B 12C 21D 282.正确的标识符是()A aB a=2 Ca.3 D a_33.表达式1&3&5&7的值为(A) A 1 B3 C5 D74.语句printf(″s\\t″)的输出结果为(B) A s\\t B s\t C s\ D s5. 执行下列语句中,sum变量的值是(B)int sum=0for(int i=0;i<10;i++,sum+=i);A 45B 55C 0 D编译错误6.已知有共用体变量data1定义如下:union data{ int i;char ch;float f;} data1;则变量data1所占的内存存储空间可表示为(C)Asize of(int)Bsize of(char)Csize of(float)Dsize of(int)+size of(char)+size of(float)7.若fp是指向某文件的指针,且feof(fp)的返回值是非零值,则表示()A已读到此文件末尾B未读到此文件的末尾C此文件已关闭D此文件尚未被打开8.以下c语言函数声明中,不正确的是()Avoid fun (int x,int y);Bfun (int x,int y);Cint fun (int x,y);Dchar *fun (char *s);9.下列选项中,不合法的C语言关键字是()Aauto Bdefault Cstatic Dvar10.若x=4,则x*=x+2的值为()A36 B24 C18 D2011.函数调用语句func((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为()A1 B2 C4 D512.设a为5,执行下列语句后,b的值不为2的是()Ab=a/2 Bb=6-(-a)Cb=a%2 Db=a>32:113.假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是()Ap2=**p1 Bp2=*&p1Cp2=*p1 Dp2=&*p114.以下运算符中,运算对象必须是整型的是()A/B%=C!=D〈=15.以下关于typedef的叙述中错误的是()A用typedef可以增加新的类型B用typedef可以定义各种类型名,但不能用来定义变量C用typedef只是将已有的类型用新的标识符来代表D使用typedef有利于程序的通用和移植16.若执行完成下列语句:int a=3,b=6,c;c=a∧b《2;则变量c的二进制值为()A00011100 B00010100 C0001000 D0*******17.设有定义int x=1;int y=‘a’<‘A’x-:x++;,则变量y的值是()A0 B2 C1 D318.以下关于宏替换的叙述不正确的是()A宏替换只是字符替换B宏名无类型C宏替换不占用运行时间D宏替换不占用编译时间19. 以下对枚举类型名的定义中正确的是()Aenum s={a,b,c} Benum s {a=9,b=2,c}Cenum s={′a′,′b′,′c′}Denum s{′a′,′b′,′c′}20. 假设指针p已经指向某个整型变量x,则*p相当于()A&x B&p Cx D*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 15.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_2 Bb2 C_abc DABC E$14. 整型变量的类型标识符是()Ashort Blong CUnsigned intDint Echar5. 以下叙述中正确的是()A一个C语言程序有且仅有一个main函数BC语言程序中,main函数是没有参数的C一个函数通过其他函数间接的调用了自身,这种情况也是一种递归调用Dmain函数是由系统调用的E若要通过函数参数带回一个或多个返回值,则应使用按地址传送的参数结合方式三、判断题(认为对的,在题后的括号内打″√″,认为错的打″×″。

每小题1分,共6分)1.若有说明int c;则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(){ static char str[]=″Language″;char *s=&str[8];while (--s>=&str[0]) putchar (*s);putchar(′\n′);}输出结果:___________________________ 2.main( ){ int a[6]={12,4,17,24,27,16};int b[6]={27,13,4,25,23,16};for (int i=0;i<6;i++){ for (int j=0;j<6;j++)if (a[i]==b[j])break;if (j<6) printf(″%d″,a[i])}}输出结果:_____________________________ 3. #include <stdio.h>int mian( ){ int i=0,sum=0;while (1){ sum+=i;i++;if (i>5) break;}printf (″sum=%d\n″,sum);}程序运行结果:4. int fun(int n){ if (n>0)return n*fun(n-1);elsereturn 1;}main(){ int a=fun(4);printf(″a=%d\n″,a);}程序运行结果:____________________ 5. fun (int i){ static int s=3;s+=ireturn (s);}main(){ int a=2,b=1,s;s=fun(a); s=fun(b);printf(″%d\n″,s);}程序运行结果:____________________五、程序填空题(根据题意要求,将程序补充完成。

相关文档
最新文档