C语言题库及答案(选择题)

合集下载

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

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

c语言期末考试题库及详解答案C语言期末考试题库及详解答案一、选择题1. 下列哪个选项是C语言中正确的整型常量?A. 0.1234B. 0x12ABC. 0b1010D. 1e10答案:B2. C语言中,以下哪个关键字用于定义变量的存储类别?A. staticB. constC. typedefD. volatile答案:A3. 在C语言中,以下哪个运算符用于求两个数的余数?A. /B. %C.D. ++答案:B4. 下列哪个选项是C语言中正确的字符常量?A. 'A'B. "A"C. AD. 65答案:A5. 在C语言中,以下哪个函数用于计算两个数的最大值?A. max()B. min()C. pow()D. sqrt()答案:A二、填空题6. C语言中,用于定义数组的关键字是______。

答案:int7. C语言中,用于输入输出的库函数分别是______和______。

答案:scanf(); printf()8. C语言中,若要定义一个指针变量,需要使用关键字______。

答案:int*9. C语言中,用于定义函数的关键字是______。

答案:void 或其他数据类型10. C语言中,若要实现字符串的复制,可以使用库函数______。

答案:strcpy()三、简答题11. 简述C语言中结构体的定义方式。

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

结构体的定义方式如下:struct 结构体名 {数据类型成员名1;数据类型成员名2;...};12. 解释C语言中的递归函数。

答案:递归函数是一种函数自己调用自己的特殊函数。

递归函数通常用于解决可以被分解为相似子问题的问题。

递归函数需要有一个明确的终止条件,以防止无限递归。

四、编程题13. 编写一个C语言程序,实现求一个整数的阶乘。

答案:```c#include <stdio.h>long factorial(int n) {if (n <= 1) return 1;else return n * factorial(n - 1);}int main() {int num;printf("Enter a number: ");scanf("%d", &num);printf("Factorial of %d = %ld", num, factorial(num)); return 0;}```14. 编写一个C语言程序,实现字符串的反转。

C语言试题选择题及答案

C语言试题选择题及答案

★第1 题:阅读程序,选择程序的运行结果___A___。

#include <stdio.h>main(){ int x;x=try(5);printf(“%d\n”, x);}try(int n){ if(n>0) return(n*try(n-2));else return(1);}A. 15B. 120C. 1D. 前面3个答案均是错误的第2 题:在下列结论中,只有一个是正确的,它是___A___。

A. 递归函数中的形式参数是自动变量B. 递归函数中的形式参数是外部变量C. 递归函数中的形式参数是静态变量D. 递归函数中的形式参数可以根据需要自己定义存储类型★第3 题:阅读程序,选择程序的输出结果__A___。

#include <stdio.h>f(int x, int y){ return(y-x);}main(){ int (*g)(int,int);int a=5, b=6, c=2;g=f;c=(*g)(a,b);printf(“%d\n”, c);}A. 1B. 2C. 3D. 前面3个答案均是错误的第4 题:阅读程序,选择程序的输出结果__D___。

#include <stdio.h>char *p=”abcdefghijklmnopq”;main(){ while(*p++!=’e’) ;printf(“%c\n”, *p);}A. cB. dC. eD. f★第6 题:阅读程序,选择程序的输出结果___D___。

#include <stdio.h>void prtv(int *x){ printf(”%d\n”, ++*x);}main(){ int a=25;prtv(&a);}A. 23B. 24C. 25D. 26第7 题:阅读程序,选择程序的输出结果___B___。

#include <stdio.h>main(){ static char a[ ]= ”language”, b[]=”program”;char *ptr1=a, *ptr2=b;int k;for(k=0; k<7; k++)if(*(ptr1+k)==*(ptr2+k))printf(”%c”, *(ptr1+k));}A. gaeB. gaC. languageD. 有语法错误★第8 题:函数调用strcat(strcpy(str1, str2), str3)的功能是__C___。

(完整版)C语言选择题(附答案)

(完整版)C语言选择题(附答案)

第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。

A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。

A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。

A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。

A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。

A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。

A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。

A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。

A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。

A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。

A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。

A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。

c语言基础试题库及答案

c语言基础试题库及答案

c语言基础试题库及答案一、选择题1. C语言中,用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言的标准数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于实现循环的关键字是:A. whileB. forC. ifD. switch答案:A、B4. C语言中,用于定义函数的关键字是:A. functionB. defC. voidD. int答案:C5. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable_2D. int答案:B、C二、填空题1. C语言中,________关键字用于定义一个数组。

答案:int2. 在C语言中,________关键字用于定义一个指针。

答案:*3. C语言中,________关键字用于定义一个函数。

答案:int4. 在C语言中,________运算符用于求两个数的和。

答案:+5. C语言中,________运算符用于判断两个数是否相等。

答案:==三、简答题1. 请简述C语言中函数的定义和调用过程。

答案:函数定义包括函数的返回类型、函数名、参数列表和函数体。

函数调用则是通过函数名和参数列表来调用已定义的函数。

2. 解释C语言中指针的概念及其用途。

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

指针常用于动态内存分配、数组处理和函数参数传递。

四、编程题1. 编写一个C语言程序,计算并输出100以内所有偶数的和。

答案:```c#include <stdio.h>int main() {int sum = 0;for(int i = 1; i <= 100; i++) {if(i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d", sum);return 0;}```2. 编写一个C语言函数,用于交换两个整数变量的值。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个是合法的变量名?A. 2variableB. variable-nameC. variable_nameD. variable$name答案:C2. 下列哪个选项是C语言的关键字?A. defineB. intC. integerD. float答案:B3. 以下哪个语句不能通过编译?A. int a = 10;B. int b = 10.5;C. int c = 'a';D. int d = 1.0;答案:B4. C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. sin()D. sum()答案:D(注意:sum()不是C语言标准库函数,这里假设它是一个自定义函数)5. 以下哪个选项是正确的C语言数组声明?A. int numbers[];B. int numbers[10] = {};C. int numbers = 10;D. int [10] numbers;答案:B6. 以下哪个是C语言中正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello\nWorld"D. "Hello\"World"答案:A7. 在C语言中,以下哪个是正确的函数声明?A. void myFunction();B. int myFunction;C. myFunction();D. int myFunction()答案:A8. 下列哪个选项不是C语言的标准输入输出库函数?A. printf()B. scanf()C. cout()D. getchar()答案:C9. 在C语言中,以下哪个是正确的逻辑运算符?A. &&B. ||C. ||D. ++答案:A10. 下列哪个选项是C语言的预处理指令?A. #includeB. defineC. ifD. else答案:A二、简答题(每题5分,共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语言考试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言具有跨平台的特性答案:B2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. doubleD. char答案:A3. 在C语言中,以下哪个运算符用于取模运算?A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是:A. 数组必须在程序开始时初始化B. 数组的元素可以是不同的数据类型C. 数组的索引从1开始D. 数组的声明必须指定数组的大小答案:D5. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. define答案:B6. C语言中,用于表示逻辑“与”操作的运算符是:A. &&B. ||C. !D. &答案:A7. 下列哪个选项是C语言中合法的注释?A. // 这是一个注释B. /* 这是一个注释 */C. // 这是一个注释/* 这是一个注释 */D. /* 这是一个注释 */答案:A8. C语言中,用于定义一个空指针的值是:A. NULLB. 0C. falseD. none答案:A9. 下列关于指针的描述中,错误的是:A. 指针可以存储变量的地址B. 指针可以存储函数的地址C. 指针可以存储数组的索引D. 指针可以存储指针的地址答案:C10. 在C语言中,用于定义一个字符型指针的声明是:A. char *ptr;B. int *ptr;C. float *ptr;D. double *ptr;答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语法是:______ int array[10];。

答案:int2. 如果一个变量的值是10,那么表达式sizeof(&var)的结果是:______。

大学c语言试题题库及答案

大学c语言试题题库及答案

大学c语言试题题库及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述,正确的是:A. C语言是一种编译型语言B. C语言是一种解释型语言C. C语言是一种面向对象的语言D. C语言不支持函数答案:A2. 在C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. intD. _int答案:B4. C语言中,用于定义一个浮点型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:B5. 在C语言中,哪个运算符用于取模运算?A. %B. /C. *D. +答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. =答案:A7. 在C语言中,用于定义一个字符型数组的语法是:A. int array[10];B. float array[10];C. char array[10];D. double array[10];答案:C8. C语言中,用于声明一个函数的关键字是:A. intB. floatC. voidD. return答案:C9. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C10. 在C语言中,用于定义一个字符串常量的语法是:A. "Hello"B. 'Hello'C. "Hello"[10]D. 'Hello'[10]答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用________运算符可以连接两个字符串。

答案:+2. C语言中的________关键字用于声明一个无返回值的函数。

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

C语言题库(选择题)1.C语言源程序的基本单位是()。

A.过程B.函数C.子程序D.标识符2.下列字符序列中,可用作C标识符的一组字符序列是()。

A. S.b,sum,average,_aboveB. class,day,lotus_1,2dayC. #md,&12x,month,student_n!D. D56,r_1_2,name,_st_13.以下标识符中,不能作为合法的C用户定义标识符的是()。

A.a3_b3B.voidC._123D.IF4.以下数据中,不正确的数值或字符常量是()。

A.0B.5LC.o13D.98615.以下数值中,不正确的八进制数或十六进制数是()。

A.0x16B.16C.-16D.0xaaaa6.以下的选择中,正确的赋值语句是()。

A.a=1,b=2B.j++C.a=b=5;D.y=int(x)7.以下运算符中,优先级最高的运算符是()。

A.?:B.++C.&&D.,8.在C语言中,能代表逻辑值“真”的是()。

A.TRUEB.大于0的数C.非0整数D.非0的数9.下列变量说明语句中,正确的是()。

A.char:a b c;B.char a;b;c;C.int x;z;D.int x,z;10.下列字符序列中,不可用作C语言标识符的是()。

A.b70B.#abC.symbolD.a_111.以下不正确的叙述是()。

A.在C程序中所用的变量必须先定义后使用。

B.程序中,APH和aph是两个不同的变量。

C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。

D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。

12.以下标识符中,不能作为合法的C用户定义标识符的是()。

A.ForB.PrintfC.WORDD.sizeof13.以下标识符中,不能作为合法的C用户定义标识符的是()。

A.answerB.toC.signedD._if14.以下标识符中,不能作为合法的C用户定义标识符的是()。

A.putcharB._doubleC._123D.INT15.以下数据中,不正确的数值或字符常量是()。

A.8.9e1.2B.10C.0xff00D.82.516.以下数据中,不正确的数值或字符常量是()。

A.cB.66C.0xaaD.5017.以下运算符中,优先级最高的运算符是()。

A.*=B.>=C.(类型)D.+18.以下运算符中,优先级最高的运算符是()。

A.||B.%C.!D.==19.以下运算符中,优先级最高的运算符是()。

A.=B.!=C.*(乘号)D.()20.以下叙述中不正确的是()。

A.一个好的程序应该有详尽的注释B.在C程序中,赋值运算符的优先级最低C.在C程序中,j++;是一条赋值语句D.C程序中的#include和#define均不是C语句21.设C语言中,int类型数据占2个字节,则long类型数据占()。

A.1个字节B.2个字节C.4个字节D.8个字节22.设C语言中,int类型数据占2个字节,则short类型数据占()。

A.1个字节B.2个字节C.4个字节D.8个字节23.C语言中,double类型数据占()。

A.1个字节B.2个字节C.4个字节D.8个字节24.C语言中,char类型数据占()。

A.1个字节B.2个字节C.4个字节D.8个字节25.设C语言中,int类型数据占2个字节,则unsigned类型数据占()。

A.1个字节B.2个字节C.4个字节D.8个字节26.下列程序的输出结果是()。

main(){char c1=97,c2=98;printf("%d %c",c1,c2);}A.97 98B.97 bC.a 98D.a b27.执行下列语句后变量x和y的值是()。

y=10;x=y++;A.x=10,y=10B.x=11,y=11C.x=10,y=11D.x=11,y=1028.下列数据中,为字符串常量的是()。

A. AB."house"C.How do you do.D.$abc29.先用语句定义字符型变量c,然后要将字符a赋给c,则下列语句中正确的是A.c='a';B.c="a";C.c="97";D.C='97'30.下列语句的结果是()。

main(){ int j;j=3;printf("%d,",++j);printf("%d",j++);}A.3,3B.3,4C.4,3D.4,431.设a=12,且a定义为整型变量。

执行语句a+=a-=a*=a;后a的值为()。

A.12B.144C.0D.13232.已知year为整型变量,不能使表达式(year%4==0&&year%100!=0)||year%400==0的值为“真”的数据是()。

A.1990B.1992C.1996D.200033.下列运算符中,不属于关系运算符的是()。

A.<B.>C.>=D.!34.假设所有变量均为整型,表达式:a=2,b=5,a>b?a++:b++,a+b的值是()。

A.7B.8C.9D.235.以下不符合C语言语法的赋值语句是()。

A.a=1,b=2B.++j;C.a=b=5;D.y=(a=3,6*5);36.以下不符合C语言语法的语句是()。

A.j++;B.j=j=5;C.k=2*4,k*4;D.y=float(j);37.执行下列程序后,其输出结果是()。

main(){int a=9;a+=a-=a+a;printf("%d\n",a);}A.18B.9C.-18D.-938.下列语句的输出结果是()。

printf("%d\n",(int)(2.5+3.0)/3);A.有语法错误不能通过编译B.2C.1D.039.下列程序的输出结果是()。

main(){int a=7,b=5;printf("%d\n",b=b/a);}A.0B.5C.1D.不确定值40.下列程序的输出结果是()。

main(){int a=011;printf("%d\n",++a);}A.12B.11C.10D.941.下列程序的输出结果是()。

main(){printf("%d\n",null);}A.0B.变量无定义C.-1D.142.若int类型数据占两个字节,则下列语句的输出为()。

int k=-1; printf("%d,%u\n",k,k);A.-1,-1B.-132,767C.-132,768D.-165,53543.若k,g均为int型变量,则下列语句的输出为()。

k=017; g=111; printf("%d\t",++k); printf("%x\n",g++);A.15 6fB.16 70C.15 71D.16 6f44.若k为int型变量,则以下程序段的执行结果是()。

k=-8567; printf("|%06D|\n",k);A.格式描述符不合法,输出无定值B.输出为|%06D|C.输出为|0-8567|D.输出为|-8567|45.若ch为char型变量,k为int型变量(已知字符a的ASCII十进制代码为97),则以下程序段的执行结果是()。

ch='a'; k=12; printf("%x,%o,",ch,ch,k); printf("k=%%d\n",k);A.因变量类型与格式描述符的类型不匹配,输出无定值B.输出项与格式描述符个数不符,输出为零值或不定值C.61,141,k=%dD.61,141,k=%1246.若有以下定义:char s='\092'; 则该语句()。

A.使s的值包含1个字符B.定义不合法,s的值不确定C.使s的值包含4个字符D.使s的值包含3个字符47.若a是float型变量,b是unsigned型变量,以下输入语句中合法的是()。

A.scanf("%6.2f%d",&a,&b);B.scanf("%f%n",&a,&b);C.scanf("%f%3o",&a,&b);D.scanf("%f%f",&a,&b);48.已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。

char a='a'; a--;printf("%d,%c\n",a+'2'-'0',a+'3'-'0');A.b,cB.a--运算不合法,故有语法错C.98,cD.格式描述和输出项不匹配,输出无定值49.下列程序的输出结果为()。

main(){int m=7,n=4;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}A.27B.27.5C.28D.28.550.若给定条件表达式(M)?(a++):(a--),则其中表达式M()。

A.和(M==0)等价B.和(M==1)等价C.和(M!=0)等价D.和(M!=1)等价51.以下程序的输出结果是()。

main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf("i=%d,j=%d,k=%d\n",i,j,k);}A.i=2,j=1,k=3B.i=1,j=1,k=2C.i=4,j=2,k=4D.i=1,j=1,k=352.a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。

A.a*b/a*b==1B.a/b*b/a==1C.a/b*b+a%b==aD.a/b*b==a53.为了提高程序的运行速度,在函数中对于整型或指针可以使用()型的变量。

A.autoB.registerC.staticD.extern54.以下程序的输出结果为()。

main(){int i=010,j=10;printf("%d,%d\n",++i,j--);}A.11,10B.9,10C.010,9D.10,955.C 语言中以下几种运算符的优先次序()的排列是正确的。

相关文档
最新文档