c语言笔试练习题.doc

合集下载

C语言考试试题精选.doc

C语言考试试题精选.doc

习题1一、选择题:1.按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)A.大写字母B.连接符C.数字字符D.下划线2.下列数据中是合法的整型常量的是(BCDEF )A. 3E2B. -32768C. 18)000D. OxffffE. 029F. 0xl2H3.下列数据中是合法的字符常量的是(BEH)A. “A”B. '!'C. 'AB'D. hE. '\\'F. "\1234‘G. '\xl23' H. '\0' I. '\k'4.设有定义:intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是(A )A. k++B. k+=lC. ++kD. k+15.有以下程序,其中%11表示按无符号整数输出main ()(unsigned int x二OxFFFF; /* x的初值为十六进制数*/printf ( "%u\n" , x);}程序运行后的输出结果是(B)A. -1B. 65535C. 32767D. OxFFFF6.设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是(C )A. if (x++) ;B.if(x>y&&y!二0);C. if (x>y) x一else y++;D. if (y<0) (;} else x++;7.以下选项中,当x为大于1的奇数时,值为0的表达式(D )A. x%2=lB. x/2C. x%2!二0D.x%2=08.已知大写字母'A,的ASCII码值是65,小写字母'a' 的ASCII码值是97,以下不能将变量c中大写字母转换为对应小写字母的语句是(D )A. c=(c-A)%26+'a'B. c二c+32C. c=c~ A' +' a'D. c=('A' +c) %26—' a'9.有以下程序void main ()(unsigned char a二2, b二4, c二5, d;d二a|b; d&二c; printf(〃%d\n〃, d); }程序运行后的输出结果是(B )A. 3B. 4C. 5D. 6二、填空题:1.设x=2. 5, a=7, y二4. 7,则x+a%3*(int) (x+y)%2/4的值为_2. 5 o2.设a=2 , b二3 , x二3.5 , y二2.5 ,则(float) (a+b) /2+ (int) x%(int) y 的值为_3. 500000________________________________________________ 。

c笔试题及答案

c笔试题及答案

c笔试题及答案一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. intD. variable$2答案:B2. C语言中,哪个关键字用于定义一个函数?A. varB. defineC. functionD. void答案:D3. 在C语言中,以下哪个选项表示逻辑与运算?A. &&B. ||C. andD. or答案:A4. 在C语言中,哪个函数用于计算字符串的长度?A. strlen()B. length()C. size()D. count()答案:A5. 下面哪个选项是C语言中的整型数据类型?A. intB. floatC. charD. All of the above答案:D二、填空题(每题2分,共10分)1. 在C语言中,一个程序的执行从________函数开始。

答案:main2. 如果一个变量的值在程序执行过程中不会改变,那么它应该被声明为________。

答案:const3. C语言中,________运算符用于将一个值赋给变量。

答案:=4. 在C语言中,________关键字用于定义一个结构体。

答案:struct5. C语言中,________函数用于将一个字符串复制到另一个字符串。

答案:strcpy三、简答题(每题5分,共20分)1. 请简述C语言中数组的定义方式。

答案:在C语言中,数组的定义方式如下:类型名数组名[数组大小];例如,定义一个包含10个整数的数组:int numbers[10];2. 解释C语言中指针的概念。

答案:在C语言中,指针是一个变量,其存储的是另一个变量的内存地址。

通过指针,程序可以直接访问和操作内存中的数据。

3. 请描述C语言中函数的原型声明。

答案:函数原型声明在C语言中用于告知编译器函数的名称、返回类型、参数类型和数量,但不提供函数的实现。

函数原型声明的一般形式为:返回类型函数名(参数类型参数名, ...);4. 举例说明C语言中如何实现文件的读写。

c语言考试笔试题及答案详解

c语言考试笔试题及答案详解

c语言考试笔试题及答案详解一、选择题(每题2分,共20分)1. C语言中用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言中数组的描述,错误的是:A. 数组必须在编译时确定大小B. 数组可以是多维的C. 数组的元素必须是同一类型D. 数组可以动态分配答案:D3. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strcmp答案:A4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:C6. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. caseD. for答案:C7. 在C语言中,用于声明一个指针的语法是:A. int *p;B. int p*;C. int *p = 0;D. int *p = p;答案:A8. C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. unionD. struct答案:A9. 下列关于C语言中指针的描述,错误的是:A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针可以存储函数的地址答案:D10. C语言中,用于定义一个联合体的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题3分,共15分)1. 在C语言中,使用________关键字可以定义一个变量的存储类型为静态存储。

答案:static2. C语言中,使用________运算符可以计算两个整数的和。

答案:+3. 在C语言中,使用________关键字可以定义一个函数的返回类型为无返回值。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0.123C. 1.2E3D. 1.2e3答案:A2. C语言中,以下哪个是合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!"'D. 'Hello, World!"答案:A4. C语言中,以下哪个是合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a = {1, 2, 3, 4, 5};D. int a[5] = {1, 2, 3};答案:A5. 在C语言中,以下哪个是正确的函数声明?A. int add(int x, int y);B. int add(int x; int y);C. int add(int x, int);D. int add(int, int);答案:A6. C语言中,以下哪个是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x, y; };答案:C7. 在C语言中,以下哪个是正确的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)[5];答案:A8. C语言中,以下哪个是正确的枚举声明?A. enum Color { Red, Green, Blue };B. enum Color: Red, Green, Blue;C. enum { Red, Green, Blue };D. enum Color { 1, 2, 3 };答案:A9. 在C语言中,以下哪个是正确的宏定义?A. #define MAX 100B. #define MAX(100)C. #define MAX 100D. #define MAX = 100答案:A10. C语言中,以下哪个是正确的条件语句?A. if (x > 0) { ... } else { ... }B. if x > 0 { ... } else { ... }C. if (x > 0) then { ... } else { ... }D. if (x > 0) { ... } else if { ... }答案:A二、填空题(每题2分,共20分)1. C语言中,用于定义一个整型变量的关键字是______。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案1. 以下哪个选项是C语言中的关键字?A) intB) IntegerC) stringD) float答案:A2. C语言中,用于定义一个整型变量的关键字是什么?A) varB) integerC) intD) float答案:C3. 在C语言中,以下哪个函数用于将整数转换为字符串?A) sprintfB) atoiC) itoaD) printf答案:C4. 下列哪个选项不是C语言中的运算符?A) %B) &&C) ==D) ++答案:B5. 在C语言中,以下哪个语句用于结束一个循环?A) breakB) continueC) returnD) exit答案:A6. 以下哪个函数用于获取当前时间?A) time()B) localtime()C) mktime()D) strftime()答案:A7. C语言中,以下哪个选项是正确的注释格式?A) /* This is a comment */B) // This is a commentC) //* This is a commentD) # This is a comment答案:A8. 在C语言中,以下哪个选项是正确的数组声明?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 = {1, 2, 3, 4, 5};答案:A9. 在C语言中,以下哪个选项是正确的字符串声明?A) char str[] = "Hello";B) char str = "Hello";C) char str[] = {"Hello"};D) char str = {"Hello"};答案:A10. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A) atofB) atoiC) itoaD) sprintf答案:A。

c语言笔试考试题及答案

c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,int类型变量的默认初始值是多少?A. 0B. 1C. -1D. 随机值答案:A3. 以下哪个是正确的C语言函数声明?A. int function(int a, int b)B. void function(int a, int b)C. int function(int a, int b) {}D. int function(int a, int b) {return a + b;}答案:B4. 在C语言中,哪个运算符用于求两个数的余数?A. /B. %C. *D. -答案:B5. 下列哪个是C语言中正确的数组声明?A. int array[10];B. int array = 10;C. int array(10);D. int [10] array;答案:A6. C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个函数用于计算两个数的和?A. sum(int a, int b)B. add(int a, int b)C. plus(int a, int b)D. None of the above答案:D8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:A9. 下列哪个选项是C语言中的控制流语句?A. ifB. switchC. caseD. All of the above答案:D10. 在C语言中,哪个语句用于实现循环?A. forB. whileC. do-whileD. All of the above答案:D二、填空题(每空2分,共20分)1. C语言中,____ 用于定义一个字符常量。

c语言统考试题及答案

c语言统考试题及答案

c语言统考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述中,不正确的是()。

A. 函数可以没有返回值B. 函数可以没有参数C. 函数可以有多个返回值D. 函数可以嵌套定义答案:D3. C语言中,用于声明一个字符数组的语句是()。

A. char a[] = "Hello";B. int a[] = "Hello";C. char a = "Hello";D. int a = "Hello";答案:A4. 下列选项中,不能作为C语言合法标识符的是()。

A. _123B. intC. 2DD. for答案:C5. 在C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. !D. |答案:A6. 下列关于C语言预处理命令的描述中,正确的是()。

A. #define可以定义宏B. #include可以包含头文件C. #define和#include都可以定义宏D. #define和#include都用于包含头文件答案:A7. 在C语言中,用于执行条件判断的语句是()。

A. ifB. switchC. forD. while答案:A8. 下列关于C语言指针的描述中,不正确的是()。

A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数参数D. 指针可以作为函数返回值答案:B9. 在C语言中,用于定义一个枚举类型的关键字是()。

A. enumB. structC. unionD. typedef答案:A10. 下列选项中,表示C语言中“逻辑或”运算符的是()。

A. &&B. ||C. ==D. !=答案:B二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型变量的语句是:________。

大一c语言笔试题及答案

大一c语言笔试题及答案

大一c语言笔试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述,正确的是:A. 函数必须有返回值B. 函数可以没有返回值C. 函数必须有参数D. 函数不能有参数答案:B3. 在C语言中,以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B4. 下列关于数组的描述,错误的是:A. 数组的元素必须是同一数据类型B. 数组可以是多维的C. 数组的大小在编译时确定D. 数组的大小在运行时确定答案:D5. 在C语言中,以下哪个关键字用于定义一个指针?A. intB. charC. floatD. *答案:D6. 下列关于C语言中变量作用域的描述,正确的是:A. 局部变量只能在函数内部使用B. 全局变量只能在函数外部使用C. 局部变量可以在函数外部使用D. 全局变量可以在函数内部使用答案:A7. 在C语言中,以下哪个关键字用于定义一个枚举?A. enumB. structC. unionD. typedef答案:A8. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以存储值C. 指针可以作为函数的参数D. 指针不能作为函数的返回值答案:D9. 在C语言中,以下哪个关键字用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B10. 下列关于C语言中循环的描述,正确的是:A. for循环不能嵌套B. while循环不能嵌套C. do-while循环不能嵌套D. 以上都是错误的答案:D二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型变量的关键字是________。

答案:int2. 如果要定义一个指向整型变量的指针,应该使用________。

c语言笔试题及答案

c语言笔试题及答案

c语言笔试题及答案一、选择题1. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. function答案:B2. 下列哪个选项是C语言中正确的注释方式?A. // 这是注释B. /* 这是注释 */C. <!—这是注释—>D. /* 这是注释答案:A3. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. variable2C. _variableD. variable答案:D4. C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello, World!";B. char str[] = 'Hello, World!';C. char str[] = "Hello, World!";D. char str[] = {"Hello, World!"};答案:A5. 以下哪个选项是C语言中正确的整型常量?A. 012B. 0x1AC. 1.0E2D. 0b1010答案:B二、填空题1. 在C语言中,_________ 运算符用于比较两个值是否相等。

答案:==2. C语言中,_________ 函数用于将字符串转换为浮点数。

答案:atof3. 在C语言中,_________ 运算符用于取一个数的相反数。

答案:-4. C语言中,_________ 函数用于输出字符串。

答案:printf5. 在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\n", sum); return 0;}```2. 编写一个C语言程序,实现字符串的反转。

c语言期末考试题及答案笔试

c语言期末考试题及答案笔试

c语言期末考试题及答案笔试一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B3. 在C语言中,用于计算两个整数相加的运算符是什么?A. +B. -C. *D. /答案:A4. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!'"D. 'Hello, World!'答案:A5. 以下哪个选项是C语言中的逻辑运算符?A. &&B. ||C. &&D. ||答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3, 4, 5};B. int [5] arr = {1, 2, 3, 4, 5};C. int arr[] = {1, 2, 3, 4, 5};D. int [5] arr = {1, 2, 3};答案:C7. C语言中,以下哪个选项是正确的结构体声明?A. struct Student {int id;char name[50];};B. struct {int id;char name[50];} Student;C. struct Student {int id;char name;};D. struct {int id;char name[50];} student;答案:A8. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr = 0;C. int ptr = 0;D. int *ptr = 0;答案:D9. C语言中,以下哪个选项是正确的循环结构?A. for (int i = 0; i < 10; i++)B. while (i < 10)C. do-while (i < 10)D. for (i = 0; i < 10; i++)答案:A10. 在C语言中,以下哪个选项是正确的条件语句?A. if (x > 0)B. if x > 0C. if (x > 0) {// code}D. if x > 0 {// code}答案:C二、填空题(每题2分,共20分)1. C语言中,用于定义一个宏的预处理指令是 #define 。

c语言笔试题及答案

c语言笔试题及答案

c语言笔试题及答案C语言笔试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. intC. floatD. all of the above答案:D2. C语言中,哪个函数用于计算两个数的和?A. add()B. sum()C. max()D. min()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. char str = "Hello";答案:A4. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个语句是正确的循环语句?A. whileB. do-whileC. forD. all of the above答案:D二、填空题(每空2分,共20分)6. C语言中,定义一个整型变量的关键字是________。

答案:int7. 在C语言中,表示逻辑与的运算符是________。

答案:&&8. 一个C语言程序的执行从________函数开始。

答案:main9. 在C语言中,数组的索引从________开始。

答案:010. C语言中,表示逻辑非的运算符是________。

答案:!三、简答题(每题10分,共20分)11. 简述C语言中函数的定义和调用过程。

答案:在C语言中,函数定义包括返回类型、函数名、参数列表和函数体。

调用函数时,需要使用函数名和相应的参数列表。

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

答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。

指针主要用于直接访问内存地址,实现动态内存分配,以及函数参数的传递等。

(word完整版)C语言考试题库及答案,推荐文档

(word完整版)C语言考试题库及答案,推荐文档

C 语言理论上机考试选择题部分(共200 题)1、下面程序的输出是___D ______#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、在下列选项中,不正确的赋值语句是__D _______A) ++t; B) n1=(n2=(n3=0));C) k=i=j; D) a=b+c=1;3、下面合法的C 语言字符常量是_______ A ____ .A) '\t' B) "A" C) 65 D) A4、表达式: 10!=9 的值是________ D ___ .A) true B) 非零值C) 0 D) 15 、C 语言提供的合法的数据类型关键字是_ B ___ .A) Double B) short C) integer D) Char6、字符(char) 型数据在微机内存中的存储形式是__D__.A) 反码B) 补码C) EBCDIC 码D) ASCII 码7、C 语言程序的基本单位是_____ C _____ .A) 程序行B) 语句C) 函数D) 字符 &设int a=12,则执行完语句a+=a-=a*a后,a的值是___ D ___A) 552 B) 264 C) 144 D) -2649、执行下面程序中的输出语句后,输出结果是_ B__.#include<stdio.h>void main(){int a;printf("%d\n",(a=3*5,a*4,a+5));}A) 65 B) 20 C) 15 D) 1010 、下面程序的输出是____ B _____ .{int x=023;printf("%d\n",--x);}A) 17 B) 18 C) 23 D) 2411 、下面程序的输出的是 ____ C ___ .#include<stdio.h>void main(){int x=10,y=3;printf("%d\n",y=x/y);}A) 0 B) 1 C) 3 D) 不确定的值12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是_____ A ____ .#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) 不确定的值13、若要求在if 后一对圆括号中表示a 不等于0 的关系,则能正确表示这一关系的表达式为_______ D__.A) a<>0 B) !a C) a=0 D) a14、以下程序的输出结果是____ D _____.#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 915、设有如下定义:int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是____ D ____ .A) 1 B) 0 C) 4 D) 316、为表示关系x > y > z,应使用C语言表达式___A___.17、 C 语言中非空的基本数据类型包括_____ B ___ .A) 整型,实型,逻辑型B) 整型,实型,字符型#include<stdio.h> void main() A) (x>=y)&&(y>=z)C) (x>=y>=z)B) (x>=y)AND(y>=z)D) (x>=y) & (y>=z)C) 整型,字符型,逻辑型D) 整型,实型,逻辑型,字符型18、若x 和y 都是int 型变量,x=100,y=200, 且有下面的程序片段:printf("%d",(x,y)); 上面程序片段的输出结果是_______________________________ A___.A) 200 B) 100C) 100 200 D) 输出格式符不够,输出不确定的值19、阅读下面的程序#include<stdio.h> void main() { charch; scanf("%3c",&ch); printf("%c",ch);}如果从键盘上输入abc< 回车> 则程序的运行结果是__A ______________________ .A) a B) b C) c D) 程序语法出错20、阅读下面的程序#include<stdio.h> void main() {int i,j;i=010; j=9;printf("%d,%d",i-j,i+j);}则程序的运行结果是_____ D __ .A) 1,19 B) -1,19 C) 1,17 D) -1,1721、阅读下面的程序#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);}程序的运行结果是_______ C ____ .A) 8,10,8,10 B) 9,11,8,10C) 9,11,9,10D) 9,10,9,1122、已知a=12, 则表达式a+=a-=a*=a 的结果是 ____ A__.A) 0 B) 144 C) 12 D) -26423、若已定义int a,则表达式a=10,a+10,a++的值是__B_.A) 20 B) 10 C) 21 D) 1124、阅读下面的程序#include<stdio.h>void main(){int i,j;scanf("%3d%2d",&i,&j);printf("i=%d,j=%d\n",i,j);}如果从键盘上输入是 ___ D .1 2 34567<回车>,则程序的运行结果A) i=123,j=4567 B) i=1234,j=567C) i=1,j=2 D) i=123,j=4525、下面程序的输出结果是_____ D ___ .#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,326、下面程序的输出结果是_____ A ___ .#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,027、执行下面程序段后,输出结果是_____ A ___ .int a;int b=65536; a=b; printf("%d\n",a);A) 65536 B) 0 C) -1 D) 128、若有以下定义和语句:int a=010, b=0x10, c=10; printf("%d,%d,%d\n",a,b,c); 则输出结果是____ B ____ .A) 10,10,10 B) 8,16,10 C) 8,10,10 D) 8,8,1029、已知有double 型变量x=2.5,y=4.7, 整型变量a=7, 则表达式x+a%3*(int)(x+y)%2/4 的值是_________ B ____ .A) 2.4 B) 2.5 C) 2.75 D) 030 、若已定义x 和y 是整型变量,x=2;, 则表达式y=2.75+x/2 的值是 ___ C ___ .A) 5.5 B) 5 C) 3 D) 4.031、以下程序的输出结果是______ D ___ .#include<stdio.h> void main(){int a=12, b=12;printf("%d,%d\n",--a,++b);}A) 10,10 B) 12,12 C) 11,10 D) 11,1332 、设有以下语句:int x=10;x+=3+x%(3), 则x 的值是. _____ A _____A) 14 B) 15 C) 11 D) 1233、若d 为double 型变量,则表达式d=1,d+5,d++ 的值是___ D__.A) 1 B) 6.0 C) 2.0 D) 1.034、表达式5!=3 的值是____ D ___ .A) T B) 非零值C) 0 D) 135、若有定义int a=12,n=5,则表达式a%=(n%2)运算后,a 的值__________ A ____ . A) 0 B) 1 C) 12 D) 6D) C 语言中变量必须先定义后引用38、C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符_____ C __ .A) 必须为字母B) 必须为下划线C) 必须为字母或下划线D) 可以是字母,数字或下划线中的任意一种39、设有说明:char w; int x; float y; double z; 则表达式: w*x+z-y 值的数据类型是___D ____ .A) float B) char C) int D) double40、一个C 语言的执行是从_____ A _____ .A) 本程序的主函数开始,到本程序的主函数结束B) 本程序的第一个函数开始,到本程序的最后一个函数结束C) 本程序的主函数开始,到本程序的最后一个函数结束D) 本程序的第一个函数开始,到本程序的主函数结束41、设a为整型变量,不能正确表达数学关系10<a<15的 C 语言表达式是___ A ___ .A) 10<a<15 B) a==11||a==12||a==13||a==14 C) a>10&&a<15 D) !(a<=10)&&!(a>=15)42、下列程序执行后的输出结果是_______ C ___ .#include <stdio.h>void main( ) { int a=5,b=60,c;if (a<b) {c=a*b;printf("%d*%d=%d\n",b,a,c);}else{c=b/a;printf("%d/%d=%d\n",b,a,c);}}A) 60/5=12 B) 300 C) 60*5=300 D) 12 43、如果 c 为字符型变量,判断 c 是否为空格不能使用___ A ___ .( 假设已知空格ASCII 码为32)A) if(c=='32') B) if(c==32)36、若有定义int x=3,y=2 和float a=2.5,b=3.5,则表达式:(x+y)%2+(int)a/(int)b 的值是__D__.A) 0 B) 2 C) 1.5 D) 137、在C 语言中,以下叙述不正确的是_____ A ___ .A) 在C程序中,无论是整数还是实数,都能被准确无误的表示B) 在C 程序中,变量名代表存储器中的一个位置C) 静态变量的生存期与整个程序的生存期相同44、运行下面程序时,若从键盘输入"3,5<CR>" ,则程序的输出结果是____ D___ .#include <stdio.h>void main( ){int x,y;scanf("%d,%d",&x,&y);if (x==y) printf("x==y");else if (x>y) printf("x>y");else printf("x<y");}A) 3<5 B) 5>3 C) x>y D) x<y45 、运行下面程序时,若从键盘输入数据为"6,5,7<CR>" ,则输出结果是C___.C) if(c=='\40') D) if(c==' ')#include <stdio.h>void main( ){ int a,b,c; scanf("%d,%d,%d",&a,&b,&c);if (a>b)if (a>c) printf("%d\n",a);else printf("%d\n",c);elseif (b>c) printf("%d\n",b);else printf("%d\n",c);}A) 5 B) 6 C) 7 D) 不定值46、执行下面程序时,若从键盘输入"2<CR>" ,则程序的运行结果是_____ A ____ .#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) 1047、运行下面程序时,从键盘输入"2.0<CR>" ,则输出9士里阜 D结果是___B ____ .#include <stdio.h>void main( ){ float a,b;scanf("%f",&a);if (a<0.0) b=0.0;else if ((a<0.5) && (a!=2.0)) b=1.0/(a+2.0);else if (a<10.0) b=1.0/2;else b=10.0;printf("%f\n",b);}A) 0.000000 B) 0.500000C) 1.000000 D) 0.25000048、执行下面程序后,运行结果是_____ A ___ .#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=149、运行下面程序时,从键盘输入"12,34,9<CR>" ,则输出结果是___A___.#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) 不确定的值50、运行下面程序时,从键盘输入字母H,则输出结果是____ C___.#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!51、执行下列程序段后的输出结果是 ________ A __ .int x=1,y=1,z=1; x+=y+=z;printf("%d\n",x<y?y:x); A) 3 B) 2 C) 1D) 452、设 ch 是 char 型变量 ,值为 'A', 则表达式 ch=(ch>='A' && ch<='Z')?ch+32:ch 的值是 __B___. A) Z B) aC) zD) A53、下面程序的输出结果是 _____ C #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) 154、运行下面程序时 ,若从键盘输入 "5 <CR>", 则程序的 输出结果是 _____________ B ___. #include <stdio.h> void main( ){ int a ; scanf("%d",&a); if (a++>5)printf("%d\n",a); else printf("%d\n",a--) ;}A) 7 B) 6 C) 5 D) 455、运行下面程序时,若从键盘输入 "3 ,4 <CR>" ,则 程序的输出结果是 ____ B___. #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) 18D) 20#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,0B) 0,0C) 0,1 D) 3,157、假定等级和分数有以下对应关系: 等级:A 分数:85〜100 等级:B 分数:60〜84 等级: C分数: 60 以下对于等级 grade 输出相应的分数区间,能够完成该功 能的程序段是 ________ D ___ . A) switch (grade){case 'A':printf("85--100\n"); case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} B) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} C) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n"); default:printf(" 等级错误 !\n");} D) switch (grade){case 'A':printf("85--100\n");break; case 'B':printf("60--84\n");break;case 'C':printf("60 以下 \n");break; default:printf(" 等级错误 !\n");}58、能够完成如下函数计算的程序段是__B厂-1x<0 y=T 0x=0 L1x>056、下列程序的执行结果是 ______ DA) y=1;B) if (x>=0)Bye_Bye!C) 9D) 0if (a) d=d-10; else if(!b) if (!c) x=15; else x=25; printf("d=%d\n",d);}A) d=20B) d=10C) d=15D) 2562、有如下程序 : #include <stdio.h> void main( ){ int a=2,b=-1,c=2; if (a<b) if (b<0) c=0; else c++; printf("%d\n",c);}该程序的输出结果是 ___C _____ . A) 0 B) 1 C) 2 D) 363、下列程序执行后的输出结果是 ______ B __ . #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) 出错信息64、有如下程序 #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) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=265、下面程序的输出结果是 _____ C ___ . #include <stdio.h>if(x!=0)if(x>0) y=1; else y=0; C) y=0;if (x>=0)if (x>0) y=1; else y=-1;if(x>0) y=1; else y=0; elsey=-1;D) y=-1;if (x>0) y=1; else y=0;59、有如下程序 #include <stdio.h> void main( ) { float x=5.0,y; if(x<0.0) y=0.0; else if (x<10.0) y=1.0/x; else y=1.0; printf("%f\n",y);}该程序的输出结果是 C ____ .A) 0.000000 B) 0.50000 C) 0.200000D) 1.00000060、以下程序的执行结果是 ___B _____ . #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) firstB) first second third C) firstD) secondthird61、以下程序的执行结果是 _____ A #include <stdio.h> void main( ){ int a,b,c,d,x; a=c=0; b=1; d=20;void main( ){ int a=-1,b=1,k; if ((++a<0) && (b--<=0))printf("%d %d\n",a,b);else printf("%d %d\n",b,a);}A) -1 1 B) 0 1 C) 1 0 D) 0 066、假定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 的值是____________ D __________ . A) 4 B) 3 C) 2 D) 167、以下程序的输出结果是___D ______ .main( ) { int a=100;if (a>100) printf("%d\n",a>100); elseprintf("%d\n",a<=100);}A) a<=100 B) 100 C) 0 D) 168、若执行下面的程序从键盘上输入是. B#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)969、以下程序输出结果是______ D ____#include <stdio.h>void main( ){ int m=4;if (++m>5) printf("%d\n",m--); else printf("%d\n",--m);70、若执行下面的程序从键盘上输入5,则输出结果是#include <stdio.h>void main( ){int x;scanf("%d",&x);if (x++>5) printf("%d\n",x);else printf("%d\n",x--);}A) 7 B) 6 C) 5 D) 471、以下程序段运行结果是_____ A___ .int x=1,y=1,z=-1; x+=y+=z; printf("%d\n",x<y?y:x); A) 1 B) 2 C) 4 D) 不确定的值72、有以下程序#include <stdio.h> void main( ) { int a,b,c=246;a=c/100%9; b=(-1)&&(-1); printf("%d,%d\n",a,b);}输出结果是___ A ____ .A) 2,1 B) 3,2 C) 4,3 D) 2,-173、运行下面程序时,若从键盘输入数据为"123" ,则输出结果是___C ___ .#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,174、执行下列程序后的输出结果是___D _____ .#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) 175、以下条件表达式中能完全等价于条件表达式x 的是 __B___.A) (x==0) B) (x!=0) C) (x==1) D) (x!=1)76、若运行下面程序时,给变量a 输入15,则输出结果是___A___.#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) 109,则输出结果D) 8A) 7 B) 6 C) 5 D) 477、运行下面程序后,输出是___D___.#include <stdio.h>void main( ){ int k=-3;if (k<=0) printf("****\n");else printf("####\n")}A) ####B) ****C) ####****D) 有语法错误不能通过编译78、执行下面程序的输出结果是______ C___ .#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) 输出####79、为了避免嵌套的if-else 语句的二义性,C 语言规定else 总是与___C___ 组成配对关系.A) 缩排位置相同的ifB) 在其之前未配对的ifC) 在其之前尚未配对的最近的ifD) 同一行上的if80、设x 、y 、z 、t 均为int 型变量,则执行以下语句后,t 的值为___ C ____ .x=y=z=1; t=++x || ++y && ++z;A) 不定值B) 4 C) 1 D) 081、以下程序段 C ________ .x=-1;do{x=x*x;} while (!x);A) 是死循环B) 循环执行两次C)循环执行一次D)有语法错误82、对下面程序段描述正确的是___B _____ .int x=0,s=0;while (!x!=0) s+=++x; printf("%d",s);A) 运行程序段后输出0B) 运行程序段后输出1C) 程序段中的控制表达式是非法的D) 程序段循环无数次83、下面程序段的输出结果是____ C ___ .x=3; do { y=x--;if (!y) {printf("*");continue;} printf("#");} while(x=2);A) ## B) ##* C)死循环D)输出错误信息84、下面程序的运行结果是 B . #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,985、下面程序段的运行结果是____ B _____ .int n=0;(n * n )/6=1+1/(2*2)+1/(3*3)+..+1/(n*n) 请填空,完成求n 的功能。

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案

(完整版)C语言考试题库及答案一、选择题1. 以下哪个选项是C语言的合法标识符?A. intB. 2abcC. voidD. a+b答案:C2. 在C语言中,下列哪个选项是正确的数据类型?A. floatB. integerC. doubleD. All of the above答案:D3. 若变量定义如下:int a = 5;,则执行语句printf("%d", a++); 后,a的值是多少?A. 4B. 5C. 6D. 无法确定答案:C4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 在C语言中,哪个运算符用于取模(取余)?A. %B. /C. &D. |答案:A以下是判断题部分:6. C语言中的数组名可以作为指向该数组首元素的指针使用。

()答案:正确7. 在C语言中,结构体变量可以作为函数的参数传递。

()答案:正确8. 在C语言中,静态存储类别的变量在程序运行期间始终占据内存空间。

()答案:正确二、填空题9. 在C语言中,定义一个整型变量需要使用关键字______。

答案:int10. 若变量定义如下:int a = 10;,则执行语句printf("%d", a--); 后,a的值是______。

答案:911. 在C语言中,用于动态分配内存的函数是______。

答案:malloc12. 在C语言中,用于释放动态分配的内存的函数是______。

答案:free13. 在C语言中,用于清空标准输入缓冲区的函数是______。

答案:getchar()三、编程题14. 编写一个C语言程序,实现以下功能:输入一个整数,输出它的阶乘。

答案:```c#include <stdio.h>int main() {int n, i;long factorial = 1;printf("Enter an integer: ");scanf("%d", &n);if (n < 0) {printf("Factorial of a negative number doesn't exist.\n");} else {for (i = 1; i <= n; i++) {factorial = i;}printf("Factorial of %d is %ld\n", n, factorial);}return 0;}```15. 编写一个C语言程序,实现以下功能:输入一个字符串,判断它是否是回文(正读和反读都一样的字符串)。

大一c语言考试笔试题库及答案

大一c语言考试笔试题库及答案

大一c语言考试笔试题库及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个选项不是合法的变量名?A. _2ndB. intC. forD. sum答案:C2. 下列哪个选项不是C语言中的关键字?A. intB. charC. floatD. input答案:D3. 在C语言中,以下哪个函数用于将字符串连接到另一个字符串的末尾?A. strcatB. strcpyC. strcmpD. strlen答案:A4. 下列哪个选项是C语言中正确的注释?A. // 这是一个注释B. /* 这是一个注释 */C. /* 这是一个注释D. // 这是一个注释 */答案:A5. 在C语言中,以下哪个选项是正确的二进制表示?A. 0x21B. 0x2GC. 0x21.5D. 0x21L答案:A6. 在C语言中,以下哪个选项表示一个无限循环?A. while(1)B. for(;;)C. do{}while(0)D. for(;1;)答案:B7. 下列哪个选项是C语言中正确的数组声明?A. int array[10];B. int array[];C. int array[10]={0};D. All of the above答案:D8. 在C语言中,以下哪个选项表示将一个整数转换为浮点数?A. (float)iB. (int)fC. (double)iD. All of the above答案:D9. 下列哪个函数用于获取当前系统时间?A. time()B. localtime()C. mktime()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的文件打开模式?A. "r"B. "w"C. "a"D. All of the above答案:D二、填空题(每题3分,共15分)1. 在C语言中,使用________运算符可以计算两个整数的和。

C语言笔试题带答案8.doc

C语言笔试题带答案8.doc

C语言笔试题带答案8.doc2021-09-2506:30:01阅读(82)1525人收藏本页标签:c语言面试题一、选择题((1)~(10)每小题2分,(11)~(50)每小题1分,共60分)以下各题a)、b)、c)、d)四个选项中,只有一个选项就是恰当的,恳请将恰当的挑选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的存储结构就是指________。

a)存储在外存中的数据b)数据所占的存储空间量c)数据在计算机中的顺序存储方式d)数据的逻辑结构在计算机中的则表示答案:d评析:数据的逻辑结构在计算机存储空间中的存放形式形式称为数据的存储结构(也称数据的物理结构)。

(2)以下关于栈的叙述中错误的就是________。

a)栈是先进后出的线性表b)栈就可以顺序存储c)栈具有记忆作用d)对栈的填入与删掉操作方式中,不须要发生改变栈底指针答案:b评析:栈是一种特殊的线性表,又称先进后出表(filo―firstinlastout)。

(3)对于长度为n的线性表,在最坏情况下,以下各排序法所对应的比较次数中恰当的就是________。

a)冒泡排序为n2b)冒泡排序为nc)快速排序为nd)快速排序为n(n一1)/2答案:d评析:假设线性表的长度为n,则在最坏情况下,冒泡排序须要经过n/2遍的从前往后读取和n/2遍的从后往前读取,须要比较次数为n(n-1)/2。

快速排序法的最坏情况比较次数也就是n(n-1)/2。

(4)对长度为n的线性表进行顺序查找,在最坏情况下所需要的比较次数为________。

a)log2nb)n/2c)nd)n+l答案:c评析:顺序查找过程中,如果被查找的元素是线性表中的最后一个元素,或者元素不在线性表中,则需要与线性表中所有的元素进行比较。

对长度为n的线性表进行顺序查找,在最坏情况下需要比较n次。

(5)以下对于线性链表的叙述中恰当的就是________。

a)存储空间不一定是连续,且各元素的存储顺序是任意的b)存储空间不一定就是已连续,且前件元素一定存储在后件元素的前面c)存储空间必须连续,且前件元素一定存储在后件元素的前面d)存储空间必须已连续,且各元素的存储顺序就是任一的答案:a评析:在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。

C考试题及答案笔试

C考试题及答案笔试

C考试题及答案笔试一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的基本数据类型?A. StringB. BooleanC. IntD. Char答案:D2. C语言中,哪个关键字用于声明一个函数?A. defineB. functionC. voidD. return答案:C3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. =D. !=答案:A4. 下列哪个选项是C语言中正确的循环结构?A. forB. whileC. do-whileD. All of the above5. 在C语言中,哪个函数用于计算数组的长度?A. sizeofB. lengthC. countD. size答案:A6. C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A7. 在C语言中,哪个运算符用于取地址?A. &B. *C. %D. ^答案:A8. C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strncpyC. strcatD. strncat答案:A9. 下列哪个选项是C语言中正确的条件语句?B. switchC. caseD. All of the above答案:D10. 在C语言中,哪个函数用于动态内存分配?A. mallocB. callocC. reallocD. All of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个全局变量。

答案:extern2. C语言中,________运算符用于计算两个值的逻辑与。

答案:&&3. C语言中,________函数用于输出格式化的字符串到控制台。

答案:printf4. 在C语言中,________关键字用于声明一个指针。

答案:*5. C语言中,________运算符用于计算两个值的逻辑或。

C考试题及答案笔试

C考试题及答案笔试

C考试题及答案笔试一、选择题(每题2分,共10题)1. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. variable-nameD. variable_name答案:B2. C语言中,用于定义一个整型变量的关键字是什么?A. intB. floatC. doubleD. char答案:A3. 下列哪个函数用于在C语言中计算两个数的最大值?A. max()B. min()C. sqrt()D. pow()答案:A4. 在C语言中,哪个运算符用于比较两个数是否相等?A. ==C. <=D. >=答案:A5. C语言中,用于定义一个字符型变量的关键字是什么?A. intB. charC. floatD. double答案:B6. 下列哪个选项是C语言中合法的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello World!"D. 'Hello World!'答案:A7. 在C语言中,哪个关键字用于定义一个函数?A. intB. voidC. functionD. def答案:B8. C语言中,用于计算两个数的和的运算符是什么?B. -C. *D. /答案:A9. 下列哪个选项是C语言中合法的数组声明?A. int array[10];B. int array[];C. int [10] array;D. int array;答案:A10. 在C语言中,哪个关键字用于跳过当前循环的剩余部分,直接开始下一次循环迭代?A. breakB. continueC. returnD. exit答案:B二、填空题(每题2分,共5题)1. 在C语言中,使用________关键字可以定义一个空函数。

答案:void2. C语言中,使用________运算符可以连接两个字符串。

计算机考试C语言笔试试题附答案

计算机考试C语言笔试试题附答案

计算机考试C语言笔试试题附答案一、选择题(每题2分,共20分)1. C语言中,下列哪个选项是合法的数据类型?A. intB. floatC. characterD. string答案:A2. 在C语言中,若要定义一个整型变量,应使用关键字?A. floatB. intC. doubleD. char答案:B3. 下列哪个运算符用于取模运算?A. %B. /C.答案:A4. 在C语言中,下列哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A5. 下列哪个选项表示C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D---二、填空题(每题2分,共20分)6. 在C语言中,用于声明数组的关键字是______。

答案:int7. 下列程序的输出结果是______。

int main() {int a = 5;printf("%d", a++ + ++a);return 0;}```答案:158. 在C语言中,标准输入输出头文件是______。

答案:stdio.h9. 下列程序的输出结果是______。

```cint main() {int a = 3, b = 4;printf("%d", a > b ? a : b);return 0;}```答案:410. 在C语言中,用于声明结构体的关键字是______。

答案:struct---三、编程题(共40分)11. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出它们的平均值和最大值。

(10分)```c#include <stdio.h>int main() {int numbers[10];int i, max, sum = 0;float average;// 输入10个整数for (i = 0; i < 10; i++) {printf("Enter number %d: ", i + 1);scanf("%d", &numbers[i]);}// 计算平均值和最大值max = numbers[0];for (i = 0; i < 10; i++) {sum += numbers[i];if (numbers[i] > max) {max = numbers[i];}}average = (float)sum / 10;// 输出结果printf("Average: %.2f\n", average);printf("Max: %d\n", max);return 0;}```12. 编写一个C程序,实现以下功能:输入一个字符串,统计并输出其中字母、数字和空格的个数。

c语言笔试题目及答案

c语言笔试题目及答案

c语言笔试题目及答案一、选择题(每题2分,共10分)1. 下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. C语言中,用于定义一个字符常量的是?A. 'a'B. "a"C. aD. 1答案:A3. 下列哪个选项是正确的C语言函数定义?A. int function();B. int function;C. int function int x;D. int function(int x)答案:D4. 以下哪个选项不是C语言中的运算符?A. %=B. &&C. ::D. ||答案:C5. 在C语言中,一个变量的声明应该放在?A. 函数内部B. 函数外部C. 函数内部或外部D. 只能放在函数内部答案:C二、填空题(每题2分,共10分)1. 在C语言中,____关键字用于声明一个外部变量。

答案:extern2. C语言中,用于定义一个指针的语法是____。

答案:*变量名3. 用于在C语言中声明一个函数的关键字是____。

答案:int4. 在C语言中,____运算符用于计算两个整数的差。

答案:-5. 用于在C语言中声明一个数组的语法是____。

答案:类型名数组名[数组大小]三、简答题(每题5分,共20分)1. 简述C语言中数组和指针的关系。

答案:在C语言中,数组名可以被看作是一个指向数组首元素的指针,数组的每个元素可以通过指针运算来访问。

2. 解释C语言中的递归函数是什么?答案:递归函数是指在函数定义中调用自身的函数,它通常用于解决可以分解为更小、相似问题的任务。

3. 什么是C语言中的预处理指令?答案:预处理指令是C语言编译过程中处理的特殊指令,它们不是C语言的一部分,但对编译过程有影响,如#include、#define等。

4. 描述C语言中如何实现文件的读写。

答案:在C语言中,可以使用fopen、fprintf、fscanf、fclose 等函数来实现文件的打开、写入、读取和关闭。

C语言笔试集含答案.doc

C语言笔试集含答案.doc

C语言笔试集(含答案)下面的题目必须全部答对才给分:1、如何在c中初始化一个字符数组。

2、如何在C中为一个数组分配空间。

3、如何初始化一个指针数组。

4、如何定义一个有10个元素的整数型指针数组。

5、s[10]的另外一种表达方式是什么。

6、版本中支持哪几种编程语言。

7、要使用CHAR_BIT需要包含哪个头文件。

8、对(-)取整是多少?9、如何让局部变量具有全局生命期。

10、C中的常量字符串应在何时定义?11、如何在两个.c文件中引用对方的变量。

12、使用mal loc之前需要做什么准备工作。

13、r e al loc函数在使用上要注意什么问题。

14、s trtok函数在使用上要注意什么问题。

15、g ets函数在使用上要注意什么问题。

16、C语言的词法分析在长度规则方面采用的是什么策略?17、a+++++b所表示的是什么意思?有什么问题?18、如何定义Bool变量的TRUE和FALSE的值。

19、C语言的con st的含义是什么。

在定义常量时,为什么推荐使用co nst,而不是#define。

20、C语言的volati le的含义是什么。

使用时会对编译器有什么暗示。

这部分是A NSI C的一些问题,题目的前提是必须都答对,看似很变态,但是细想一下,这些都是最基础的,虽然我们在使用他们的时候会犯这样那样的错误,但是最终目的是不犯错误,不是么,那么好,从最基础的开始。

1、如何在C中初始化一个字符数组。

这个问题看似很简单,但是我们要将最简单的问题用最严谨的态度来对待。

关键的地方:初始化、字符型、数组。

最简单的方法是chararray 口;。

这个问题看似解决了, 但是在初始化上好像还欠缺点什么,个人认为:chararra y ⑸二{' 1’,' 2 ' , ' 3’,' 4 ' , ' 5’ };或者 c hara rray[5 ] = { " 1 2345 " };或者ch arar ray[2] [ 10]={ “China ” , " Beijing" };也许更符合“初始化”的意思。

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

>A) 160 Oxffff Oil B) -Oxcdf Ola Oxe>C) -01 986,012 0668 D) -0x48a 2e5 Ox>2)设有说明:char w; int x; float y; double z;则表达式:>w*x+z-y值的数据类型是:( )>A) float B) char C) int D) double>3)若有定义:int a=7; float x=2.5, y=4.7;则表达式:>x+a%3*(int)(x+y)%2/4 的值是:( )>A) 2.500000 B) 2.7500000 C) 3.500000 D) 0.000000>4)E是一个变量,语句while(!E);屮的条件!E等价于( )>A) E= =0 B)E!=1 C) E!=0 D) E=1>5)设ch是char型变量,其值为A,且有下面的表达式:ch=(ch>=,A,&&ch<=Z)?(ch+32):ch >上面表达式的值是( )>>A)A B)a C)Z D)z>6)设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,( )>值为0的表达式是>A) 'a'&&'b‘B) a<=b>C) a||b+c&&b・c D) !((a<b)&&!c||l)>7)执行下面程序段( )>int x=35;> char z-A';> int B;>B=((x=15)&&(z<t a,))>后,B的值为>A)0 B) 1 C) 2 D) 3>8)在C语言中,下列说明正确的是( )>A)不能使用do-while构成的循环>B) do-while构成的循环必须用break才能退11!>C) do-while构成的循坏,当while中的表达式值为非零时结束循环>D) do-whilc构成的循环,当while中的表达式值为零时结束循环>9)若盯已定义为int类型,则以下程序段中内循环体的总的执行次数是( ) >for (i=5;i;i-)>forO=0;j<4;j++){...}>A) 20 B) 25 C) 24 D) 30>10)设i,j,k均为int型变量,则执行完下面的for循环后,k的值为( )>for(i=0J=10;i<=j;i++,j-) k=i+j;>A) 12 B) 10 C) 11 D)9>11)下列程序执行后的输出结果是____________ o ( )>main()>{int a,b[5];>a=0; b[0]=3;>printf(”%d,%d\n”,b[O],b[l]); }>A)3,0 B)3 0 C) 0,3 D)3,不定值> 12)设有数组定义:char array[]=,,China n;则strlen(array)>的值为_________ O (>A)4 B)5 C)6 D)7>13)下面程序的功能是:计算1到10之间的奇数之和及偶数之和,划线处>应填_________ o ( )>//include <stdio.h>>main()>{ int a,b,c,i;>a=b=c=0;>for(i=0;i<= 10;i+=2)>{a+=i;>________ ;>c+=b; }>printf(”偶数之和=%d\n H,a);>printf(n奇数之和=%d\n”,c・ 11);>}>A) c+=i B) b+=I C) b=i+l D) i=i+l>14)在C语言中,全局变量的存储类别是:(B )>A) static B) extern C) void D) register>15)若有以下调用语句,则正确的fun函数首部是(B )>main()>int a;float x;>:> :>fun(x,a);>:> :> }>A) void fun(int m,float x) B) void fun(float a,int x)>C) void fun(int m.float x[]) D) void fun(int x,float a)>⑹ 函数fun的功能是:根据以下公式计算并返回S,n通过形参传入,n的值>大于等于0。

划线处应填__________ o ( C )> 1 1 1 1>S=1 -——H -- --- ——+ --- ----------> 3 5 7 2n-l>float lun(int n)>{ float s=0.0,w,t,f=-l .0;>int i;>for(i=0;i<n;i++)>{Ef;>w=f7(2*i+l);>s+=w; }> ________________ ;}>A) return (f) B) return (S) C) return (s) D) return (w)>17)若有说明语句”int i, j=7, *p=&i;”,则与i=j等价的语句是( ) >A) i=*p;B)*p=*&j;C)i=&j;D) i=**p ;>18)执行语句”char a[10]={n abcd n}, *p=a;”后,*(p+4)的值是(C )>A)”abcd“B)d C) W D) 不能确定>19)下列程序的输出结果是(B )>A)5 B)6 C)7 D)8>struct abc>{int a,b,c;};>main()>{struct abc s[2]={ {1,2,3}, {4,5,6}} ;int t;>t=s[O].a+s[l].b;>printf(”%d\n”,t);>}>20)标准库函数fgets(s,n,f)的功能是 (D )>A)从文件f中读取长度为n的字符串存入指针s所指的内存>B)从文件f中读取长度不超过ml的字符串存入指针s所指的内存> C)从文件f中读取n个字符串存入指针s所指的内存>D)从文件f屮读取长度为ml的字符串存入指针s所指的内存>A)本程序的主函数开始,到本程序的主函数结束>B)本程序的第一个函数开始,到本程序的最后一个函数结束>C)本程序的主函数开始,到本程序的最后一个函数结束>D)本程序的第一个函数开始,到本程序的主函数结朿>>2.已知字母“A”的ASCII码为十进制的65,下血程序输出正确的是:( ) >main()>{>char chi, ch2;>chl='A'+'5'」3:>ch2='A 屮6「3:>printf(n%d, %c\n”,ch 1, ch2);>}>A) 67, D B) B, C C)不确定的值D) C, D>>3.在C语言中,下面合法的长整型数是:(A )>A) OL B) 4962710 C) 0.054838743 D) 2.1869el0>>4.为表示关系xNy^z,应使用C语言表达式( )>A) (x>=y)&&(y>=z) B) (x>=y)AND(y>=z)B)a>=10|a<=0D) a>=10 || a<=0>5.表达式:10!=9的值是 ( ) > A) true B)非零值 C) 0D) 1> >> 6.能止确表示aNIO 或aWO 的关系表达式是 ( )>> A) a>=10 or a<=0 >> C) a> =10 || a< =0>7•设a 为整型变量,不能正确表达数学关系:10<a<15的C 语言() >表达式是 >A) 10<a<15B) a==l 1 || a=12 || a==13 || a=14> C) a>10 && a<15 D) !(a<=10) && !(a>=15)>8•要使以下程序段输出10个整数,请填入一个整数。

>for(i=0;i<=_;printf(n %d\n n ,i+=2));()>A) 17B) 18 C) 20D)21>9.t 为int 型,进入下面的循环之前,t 的值为0 ()>while (t=l) { ........... }>则以下叙述屮正确的是()>A)循环控制表达式的值为0 B)循环控制表达式的值为1>A)无限次B)有语法错,不能执行 C) 一次也不执行D)执行一次a[0] a[l] a[2] a[3] a[4]>10•有以下程序段 ( )> int k=0; >while (k=l)k++;> while 循环执行的次数是>11 •下列程序执行后的输出结果是 ____ 。

( )> main() >{int i,j,a[3][3]; > for(i=0;i<3;i++)> for(j=0;j<=i;j4-+) a[i][j]=i*j; > printf(n %d,%d\n",a[ l][2],a[2][l]);>} > A) 2,2B)不定值,2C) 2D) 2,0> 12.设有数组定义:char array[10]= M China M ;则数组array 所占的存储空间为 _________ 。

( C )> A) 4个字节 B)5个字节 >C)6个字节D) 10个字节> 13.已知数组a 的赋值情况如下所示,则执行语句a[2]++;后a[l]和a[2]的值 >分别是 _________ 。

相关文档
最新文档