C语言多选题试卷
- 格式:pdf
- 大小:96.43 KB
- 文档页数:8
《C语言程序设计》练习题及答案1. 单选题1. 设有定义:int n=0,*p=&n,**q=&p,则下列选项中正确的赋值语句是A. p=1;B. *q=2;C. q=p;D. *p=5;正确答案:D2. 设有int x=11;则表达式(x++*1/3)的值是A. 3B. 4C. 11D. 12正确答案:A3. 下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}A. 3B. 4C. 1D. 2正确答案:A4. sizeof(float)是A. 一个双精度型表达式B. 一个整型表达式C. 一种函数调用D. 一个不合法的表达式正确答案:B5. 在16位C编译系统上,若定义long a;,则能给a赋40000的正确语句是A. a=20000+20000;B. a=4000*10;C. a=30000+10000;D. a=4000L*10L正确答案:D6. 请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A. 5B. 14C. 8D. 输出项不合法,无正常输出正确答案:A7. 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为A. 4B. 16C. 32D. 52正确答案:C8. 下面能正确进行字符串赋值操作的是A. char s[5]={"ABCDE"};B. char s[5]={ ′A′, ′B′, ′C′, ′D′, ′E′};C. char *s;s="ABCDE";D. char *s;char a; scanf("%s",&s);正确答案:C9.以下程序的输出结果是#include "stdio.h"void reverse(int a[],int n){int i,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}}main(){int b[10]={1,2,3,4,5,6,7,8,9,10};int i,s=0;reverse(b,8);for(i=6;i<10;i++) s+=b[i];printf("%d\n",s);}A. 22B. 10C. 34D. 30正确答案:A10. 以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D2. 多选题11. 以下______是正确的转义字符。
C多选题(附答案)多选题题库C概述1、[多选题.2005-4]不是C语言程序的基本单位是________。
(A)、程序行(B)、函数(C)、语句(D)、字符2、[多选题.2005-4]以下说法中不正确的是________。
(A)、C语言程序中的main()函数必须放在程序的开始部分(B)、C语言程序总是从第一个函数开始执行(C)、在C语言程序中,要调用的函数必须在main()函数中定义(D)、C语言程序总是从main()函数开始执行3、[多选题.2005-12]以下说法中不正确的是________。
(A)、C++语言程序总是从第一个函数开始执行(B)、C++语言程序总是从main()函数开始执行(C)、C++语言程序中的main()函数必须放在程序的开始部分(D)、在C++语言程序中,要调用的函数必须在main()函数中定义数据类型1、[多选题.2004年.2005-4.2005-12]在C语言提供的不合法关键字是()(A)、Cae(B)、wicth(C)、cher(D)、default2、[多选题.2004年]请选出不可用作C语言用户标识符的选项()(A)、a3_b3_123IF(B)、For-abcCae(C)、voiddefineWORD(D)、2aDOizeof3、[多选题.2004年]语言提供的非法的数据类型关键字是()(A)、hort(B)、Char(C)、Double(D)、integer4、[多选题.2005-4]以下为不合法的十六进制数是__________。
(A)、0某2A(B)、0某11Au(C)、0某0(D)、3A5、[多选题.2005-4]在C语言中,不合法的长整型常数是________。
(A)、2.1869e10(B)、0L(C)、4962710(D)、0.0548387436、[多选题.2005-12]在C++语言中,不合法的字符常量是________。
(A)、'\\某43'(B)、'ab'(C)、'\\084'(D)、\7、[多选题.2004年.2005-12]下列正确的转义字符是()(A)、'\\'(B)、'\\0'(C)、'\\\\'(D)、'074'8、[多选题.2005-12]下列运算符中,优先级相同的是_________。
姓名:__________________年级专业:__________________ 学号:__________________凡年级专业、姓名、学号错写、漏写或字迹不清者,成绩按零分记。
…………………………密………………………………封………………………………线…………………………《复习卷》试卷一、单选题(每题1分,共计30分) 1、下列选项中,不合法的变量是(D )。
A 、int x = 3; B 、char ch = 'c' C 、float f ; D 、case c;2、下列选项中,不合法的常量是(D )。
A 、2 B 、'\n' C 、'a' D 、'\483'3、关于#include<stdio.h>这句代码,下列描述中错误的是(C ) A 、"#"是预处理标志,用来对文本进行预处理操作 B 、include 是预处理指令 C 、一对尖括号可以去掉D 、stdio.h 是标准输入输出头文件4、假设a 、b 、c 、d 、m 、n 均为int 型变量,且a=5、b=6、c=7、d=8、m=2、n=2,那么逻辑表达式(m=a>b)&&(n=c>d)运算后,n 的值为( C )。
A 、0 B 、1 C 、2 D 、35、C 语言程序的三种基本结构是( A )。
A 、顺序结构,选择结构,循环结构 B 、递归结构,循环结构,转移结构 C 、嵌套结构,递归结构,顺序结构 D 、循环结构,转移结构,顺序结构6、关于下面的for 循环语句 int i,k; for(i = 0,k = -1;k = 1;i++,k++) printf(“*****”); 下列选项中,描述正确的是(B )A 、判断循环结束的条件非法B 、是无限循环C 、只循环一次D 、一次也不循环7、以下定义语句中,错误的是( D )。
C语言测试题(附有详细解析)一、选择题1. 以下哪个选项是C语言的关键字?A. ifB. sizeofC. structD. include解析:C语言中,关键字是指被C语言本身定义的具有特定意义的单词。
选项A的`if`是关键字,用于条件判断;选项C的`struct`是关键字,用于定义结构体;选项D的`include`实际上是预处理指令的一部分,不属于关键字。
选项B的`sizeof`是运算符,用于计算数据类型或变量的大小。
因此,正确答案是A、C。
2. 在C语言中,以下哪个选项表示整型变量?A. charB. intC. floatD. double解析:在C语言中,`int`类型用于存储整数。
选项A 的`char`用于存储字符;选项C的`float`和选项D的`double`用于存储浮点数。
因此,正确答案是B。
3. 以下哪个选项表示逻辑运算符?A. `++`B. `--`C. `&&`D. `%`解析:逻辑运算符用于连接多个条件表达式,包括与运算符`&&`、或运算符`||`和非运算符`!`。
选项C的`&&`是逻辑与运算符。
选项A的`++`和选项B的`--`是算术运算符,用于自增和自减;选项D的`%`是取模运算符。
因此,正确答案是C。
二、填空题1. 在C语言中,定义一个整型变量`a`并赋值为10的代码是______。
解析:定义整型变量`a`并赋值为10的代码如下:```cint a = 10;```2. 以下代码的输出结果是______。
```c#include <stdio.h>int main() {int x = 5;printf("%d\n", x++ + ++x);return 0;}```解析:在C语言中,`x++`是先使用x的值,然后x自增1;`++x`是先x自增1,然后使用x的值。
因此,`x++ + ++x`的执行过程如下:- `x++`,此时x的值为5,输出5;- `++x`,此时x的值为6,输出6;- 最终输出结果为11。
c语言大学考试题及答案一、选择题(每题4分,共20分)1. 下列哪个选项是C语言中的合法标识符?A. 2beginB. _intC. intD. begin$答案:B2. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B3. 在C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Moonshot";B. char str[] = 'Moonshot';C. char str[] = "Moonshot'; // 缺少一个双引号D. char str[] = {"Moonshot"};答案:A4. 下列哪个选项是C语言中的合法整型常量?A. 012B. 0x1AC. 01.2D. 0b1010答案:B5. 在C语言中,以下哪个关键字用于定义函数?A. structB. intC. voidD. return答案:C二、填空题(每题4分,共20分)1. C语言中,用于定义一个结构体的关键字是______。
答案:struct2. 在C语言中,______运算符用于判断两个表达式是否相等。
答案:==3. C语言中,______函数用于将字符串从标准输入读入到字符数组中。
答案:gets4. 定义一个指针变量,用来指向一个整型变量,应该使用______。
答案:int *5. 在C语言中,______关键字用于定义一个枚举类型。
答案:enum三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。
答案:数组是一种数据结构,用于存储相同类型的多个元素,而指针是一种变量,它的值是另一个变量的地址。
数组名本身代表数组的首地址,但数组名不能作为左值,而指针可以作为左值,可以改变其指向的地址。
2. 请解释C语言中函数原型声明的作用。
答案:函数原型声明用于告诉编译器函数的名称、返回类型、参数类型和数量,但不包含函数体。
c语言试卷集(10套)-试题及答案C语言试卷集(10套)-试题及答案试卷一一、选择题(每题2分,共20分)1. C语言中,用于表示逻辑“真”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:B2. 下列哪个选项是C语言中的合法变量名?()A. 2variableB. variable2C. variable_2D. variable!答案:C3. C语言中,用于定义一个整型数组的语句是()。
A. int array[10];B. int [10] array;C. int 10 array;D. int array=10;答案:A4. 下列哪个选项是C语言中的合法字符串常量?()A. "Hello"B. 'Hello'C. "HelloD. Hello答案:A5. C语言中,用于表示逻辑“假”的值是()。
A. 0B. 1C. -1D. 任意非零值答案:A6. 下列哪个选项是C语言中的合法浮点数常量?()A. 3.14B. 314.C. .314D. 3.14E答案:A7. C语言中,用于定义一个整型变量的语句是()。
A. int x;B. var x;C. x int;D. int = x;答案:A8. 下列哪个选项是C语言中的合法字符常量?()A. 'A'B. "A"C. 'AB'D. "AB"答案:A9. C语言中,用于定义一个字符数组的语句是()。
A. char array[10];B. char [10] array;C. char 10 array;D. char array=10;答案:A10. C语言中,用于表示字符常量的是()。
A. 'A'B. "A"C. AD. "A"答案:A二、填空题(每题3分,共15分)1. C语言中,用于定义一个整型变量并初始化为0的语句是()。
大学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语言中的________关键字用于声明一个无返回值的函数。
c语言考试题及答案一、选择题1. C语言中用于表示整数常量的是()。
A. 3.14B. '65'C. 0x1AD. 2e5答案:C2. 若有定义:int a = 5; int b = 10; 则表达式 a * b / 3 的值是()。
A. 15B. 16C. 17D. 18答案:D3. 下列哪个选项是C语言中的关键字?()A. runB. switchC. goD. jump答案:B4. 在C语言中,用于动态分配内存空间的函数是()。
A. mallocB. freeC. strcpyD. strcmp答案:A5. 下列关于指针的说法正确的是()。
A. 指针可以存储任何类型的数据B. 指针是一种特殊类型的变量,其值为另一个变量的地址C. 指针可以被直接赋值,不需要使用地址运算符D. 所有指针都可以进行算术运算答案:B二、填空题1. 在C语言中,一个完整的程序从()函数开始执行。
答案:main2. 若有定义:int x = 10; 则表达式 ++x 的值是()。
答案:113. 在C语言中,字符串以()字符结尾。
答案:'\0'4. 为了在C语言中引入数学库函数,需要使用预处理指令()。
答案:#include <math.h>5. 一个变量可以在声明时直接初始化,例如:int y = 7; 这里的7是()类型的常量。
答案:整三、判断题1. C语言中的所有函数都必须有返回值。
()答案:错2. 在C语言中,if-else语句可以嵌套使用。
()答案:对3. 所有的局部变量都必须在声明时初始化。
()答案:错4. C语言中的数组下标是从1开始的。
()答案:错5. 指针变量可以被解引用来访问其指向的内存中存储的数据。
()答案:对四、编程题1. 编写一个C语言程序,输入一个整数,判断它是否为偶数。
如果是偶数,输出“Even”;如果不是,输出“Odd”。
```c#include <stdio.h>int main() {int num;printf("Enter an integer: ");scanf("%d", &num);if (num % 2 == 0) {printf("Even\n");} else {printf("Odd\n");}return 0;}```2. 编写一个C语言程序,计算并输出一个整数数组中所有元素的和。
c语言计算机试题及答案1. 单项选择题(1) 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-2D. variable_2答案:D(2) C语言中,以下哪个关键字用于定义函数?A. classB. functionC. defD. void答案:D(3) 在C语言中,用于定义字符串的字符数组的声明方式是?A. int str[10];B. char str[10] = "Hello";C. string str = "Hello";D. char str[] = "Hello";答案:B2. 多项选择题(1) 下列哪些选项是C语言中合法的整数常量?A. 012B. 0x1AC. 10LD. 1.0答案:A, B, C(2) 在C语言中,以下哪些运算符用于比较操作?A. ==B. !=C. <=D. %答案:A, B, C3. 填空题(1) 在C语言中,用于定义一个整型数组的语句是____。
答案:int array_name[size];(2) C语言中,用于循环结构的关键字是____。
答案:for, while, do-while4. 简答题(1) 请简述C语言中指针的概念。
答案:指针是一个变量,其值为另一个变量的地址。
通过指针,程序可以直接访问和操作内存地址。
(2) 解释C语言中结构体的作用。
答案:结构体是一种用户自定义的数据类型,允许将不同的数据类型组合成一个单一的数据结构,以便于数据的组织和管理。
5. 编程题(1) 编写一个C语言程序,实现将一个整数数组逆序输出。
答案:```c#include <stdio.h>int main() {int arr[] = {1, 2, 3, 4, 5};int n = sizeof(arr) / sizeof(arr[0]); for(int i = n - 1; i >= 0; i--) {printf("%d ", arr[i]);}return 0;}```。
试卷编号:23所属语言:C语言试卷方案:TC_160505231012试卷总分:31分共有题型:1种一、多选共31题(共计31分)第1题(1.0分)题号:336难度:中第2章以下可以定义为用户标识符的有().A:scanfB:shortC:_3com_D:int答案:AC第2题(1.0分)题号:341难度:中第2章以下选项中不是C语言合法整数的是().A:10110B:0386C:0XffaD:x2a2答案:BD第3题(1.0分)题号:349难度:中第4章若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是(). A:a=b=c=d=100;B:d++;C:c+b;D:d=(c=22)-(b++);答案:ABD第4题(1.0分)题号:334难度:中第2章以下合法的十六进制数是().A:oxffB:0XabcC:0x01D:0X9X答案:BC第5题(1.0分)题号:346难度:中第4章设有以下定义int a=0;double b=1.25;char c='A';#define d2则下面语句中正确的是().A:a++;B:b++;C:c++;D:d++;答案:ABC第6题(1.0分)题号:333难度:中第1章以下叙述中正确的是().A:一个C源程序可由一个或多个函数组成B:一个C源程序必须包含一个main()函数C:C源程序的基本组成单位是函数D:在C源程序中,注释说明只能位于一条语句的最后答案:ABC第7题(1.0分)题号:350难度:中第5章以下4个选项中,可以看作是一条语句的有().A:{;}B:a=0,b=0,c=0;C:if(a>0);D:if(b==0)m=1;n=2;答案:ABC第8题(1.0分)题号:359难度:中第8章以下对C语言中的函数描述不正确的有().A:可以嵌套定义,不可以嵌套调用B:不可以嵌套定义,可以嵌套调用C:可以嵌套定义,也可以嵌套调用D:嵌套定义和嵌套调用都不允许答案:ACD第9题(1.0分)题号:337难度:中第2章下列选项中是C语言合法标志符的有().A:good_morningB:mainC:stdio.hD:8abc答案:AB第10题(1.0分)题号:358难度:中第7章在定义int a[2][3];之后,对a的引用正确的有().A:a[0][2]B:a[1,3]C:a[1>2][!1]D:a[2][0]答案:AC第11题(1.0分)题号:356难度:中第7章以下关于数组描述错误的是().A:数组的大小是固定的,但可以有不同的类型的数组元素B:数组的大小是可变的,但所有数组元素的类型必须相同C:数组的大小是固定的,所有数组元素的类型必须相同D:数组的大小是可变的,可以有不同的类型的数组元素答案:ABD第12题(1.0分)题号:353难度:中第6章对do-while语句描述正确的是().A:do-while语句构成的循环可以使用break语句退出循环B:do-while语句构成的循环必须使用break语句退出循环C:do-while语句构成的循环,当while中的表达式值为非零时结束循环D:do-while语句构成的循环,当while中的表达式值为零时结束循环答案:AD第13题(1.0分)题号:335难度:中第2章以下用户标识符,其中合法的是().A:returnB:f2_G3C:A3-3D:abc答案:BD第14题(1.0分)题号:362难度:中第9章以下关于typedef的叙述正确的是().A:用typedef可以定义各种类型名,但不能用来定义变量B:用typedef可以增加新类型C:用typedef只是将已存在的类型用一个新的名字来代表D:使用typedef便于程序的通用答案:ACD第15题(1.0分)题号:345难度:中第4章以下不合法的赋值语句是().A:x=y=100B:d--;C:x+y;D:c=int(a+b);答案:ACD第16题(1.0分)题号:339难度:中第2章以下选项中不合法的字符常量是().A:"B"B:'\010'C:68D:D答案:ACD第17题(1.0分)题号:343难度:中第2章有定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有().A:1112<回车>B:11,<空格>12<回车>C:11,12<回车>D:11,<回车>12<回车>答案:BCD第18题(1.0分)题号:348难度:中第4章已定义c为字符型变量,则下列语句中错误的是().A:c='97';B:c="97";C:c=97;D:c="a";答案:ABD第19题(1.0分)题号:344难度:中第3章以下选项中合法的表达式是().A:0<=x<100B:i=j==0C:(char)(65+3)D:x+1=x+1答案:ABC第20题(1.0分)题号:352难度:中第5章以下对switch语句和break语句中描述错误的有().A:在switch语句中必须使用break语句B:break语句只能用于switch语句C:在switch语句中,可以根据需要使用或不使用break语句D:break语句是switch语句的一部分答案:ABD第21题(1.0分)题号:360难度:中第8章以下描述正确的是().A:调用函数时,实参可以是表达式B:调用函数时,实参与形参可以共用内存单元C:调用函数时,将为形参分配内存单元D:调用函数时,实参与形参的类型必须一致答案:ACD第22题(1.0分)题号:357难度:中第7章以下对二维数组a进行正确初始话的是().A:static char word[]='Turbo\0';B:static char word[]={'T','u','r','b','o','\0'};C:static char word[]={"Turbo\0"};D:static char word[]="Turbo\0";答案:BCD第23题(1.0分)题号:342难度:中第2章以下不符合C语言语法的实型常量是().A:1.2E0.5B:3.14.159EC:.5E-3D:E15答案:ABD第24题(1.0分)题号:347难度:中第4章若以下选项中的变量已正确定义,则不正确的赋值语句是().A:x1=26.8%3B:x=3*x+xC:x3=0x12D:x4=1+2=3;答案:AD第25题(1.0分)题号:351难度:中第5章以下正确的if语句形式是().A:if(x>y&&x!=y);B:if(x==y)x+=y;C:if(x!=y)scanf("%d",&x)else scanf("%d",&y);D:if(x<y){x++;y++;}答案:ABD第26题(1.0分)题号:361难度:中第8章以下叙述正确的是().A:预处理命令行都必须以"#"开始B:在程序中凡是以"#"开始的语句行都是预处理命令行C:C程序在执行过程中对预处理命令行进行处理D:#define ABCD是正确的宏定义答案:ABD第27题(1.0分)题号:354难度:中第6章以下描述正确的是().A:使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成B:while循环是先判断表达式,后执行循环语句C:do-while和for循环均是先执行循环语句,后判断表达式D:for,while和do-while循环中的循环体均可以由空语句构成答案:ABD第28题(1.0分)题号:338难度:中第2章下列对逻辑运算符两侧的运算对象的数据类型描述不正确的是().A:只能是0或1B:只能是0或非0正数C:可以是整型或字符型数据D:可以是任何类型的数据答案:ABD第29题(1.0分)题号:340难度:中第2章以下选项中,合法的字符常量是().A:'\t'B:'\17'C:"n"D:'\xaa'答案:ABD第30题(1.0分)题号:332难度:中第1章以下叙述正确的是().A:C语言严格区分大小写英文字母B:C语言用";"作为语句分隔符C:C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上. D:可以使用/*…*/对C程序中的任何部分作注释答案:ABCD第31题(1.0分)题号:355难度:中第6章以下描述错误的是().A:continue语句的作用是重新开始一次循环体的执行B:只能在循环体内和switch语句体内使用break语句C:在循环体内使用break语句和continue语句的作用相同D:从多重循环嵌套中退出是,只能使用goto语句答案:CD。