全国计算机2级 C语言 试题
c国家二级考试真题及答案
c国家二级考试真题及答案1. 单选题:下列哪个选项是C语言中用于声明整型变量的关键字?A. intB. floatC. doubleD. char答案:A2. 多选题:在C语言中,哪些运算符用于比较两个值?A. ==(等于)B. !=(不等于)C. <(小于)D. >(大于)答案:A、B、C、D3. 填空题:在C语言中,使用____关键字可以定义一个函数。
答案:void4. 判断题:C语言中的数组索引是从0开始的。
答案:正确5. 简答题:请解释C语言中的指针是什么,并给出一个声明指针的示例。
答案:指针是一种特殊的变量,它存储了另一个变量的内存地址。
声明指针的示例代码如下:```cint *ptr;```这里`ptr`是一个指向整型数据的指针。
6. 编程题:编写一个C语言程序,计算并输出1到100之间所有偶数的和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers between 1 and 100is: %d\n", sum);return 0;}```7. 阅读程序题:分析以下代码段的功能,并指出其输出结果。
```c#include <stdio.h>int main() {int a = 10;if (a > 5) {printf("%d\n", a);} else {printf("a is not greater than 5\n");}return 0;}```答案:该代码段的功能是判断变量`a`的值是否大于5,如果是,则输出`a`的值;否则,输出"a is not greater than 5"。
计算机二级c考试真题及答案解析
计算机二级c考试真题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 3D. 'ab'答案:A解析:在C语言中,字符常量需要用单引号括起来,因此'a'是合法的字符常量。
选项B是字符串常量,选项C是整数常量,选项D是两个字符的序列,不是单个字符常量。
2. 若有以下定义:```cint a = 3, b = 4;```则表达式`a + b`的值是:A. 7B. 3C. 4D. 0答案:A解析:根据题目中给出的变量定义,a的值为3,b的值为4。
因此,表达式`a + b`的值是3 + 4,即7。
3. 在C语言中,以下哪个选项是正确的整型变量声明?A. int a;B. float b;C. double c;D. All of the above答案:D解析:在C语言中,int、float和double都是合法的整型和浮点型变量声明。
因此,选项A、B和C都是正确的整型变量声明。
4. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D解析:在C语言中,&&代表逻辑与,||代表逻辑或,!代表逻辑非,它们都是C语言中的逻辑运算符。
5. 若有以下定义:```cint x = 10;```则表达式`x % 3`的值是:A. 1B. 2C. 3D. 0答案:A解析:表达式`x % 3`表示x除以3的余数。
10除以3的商是3,余数是1,因此`x % 3`的值是1。
6. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[10] = "Hello";B. char str[] = "Hello";C. Both A and BD. None of the above答案:C解析:在C语言中,选项A和B都是正确的字符串声明方式。
计算机二级c语言试题及答案解析
计算机二级c语言试题及答案解析一、选择题1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。
2. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C解析:`%`是取模运算符,`&&`是逻辑与运算符,`||`是逻辑或运算符,而`::`不是C语言中的运算符。
二、填空题1. 在C语言中,`________`关键字用于声明一个函数。
答案:int解析:在C语言中,`int`是用于声明一个函数的返回类型,表示该函数返回一个整数值。
2. 以下代码片段中,`________`用于定义一个名为`data`的数组,包含10个整数。
```cint data[10];```答案:int data[10];解析:`int data[10];`定义了一个名为`data`的数组,它包含10个整数。
三、编程题1. 编写一个C语言函数,计算并返回两个整数的和。
```cint add(int a, int b) {return a + b;}```答案:```cint add(int a, int b) {return a + b;}```解析:该函数接受两个整数参数`a`和`b`,计算它们的和,并返回结果。
2. 编写一个C语言程序,实现将一个字符串反转。
```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str); return 0;}```答案:```c#include <stdio.h>#include <string.h>void reverse(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) { char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverse(str);printf("Reversed string: %s\n", str);return 0;}```解析:该程序定义了一个`reverse`函数,它接受一个字符串作为参数,并通过交换字符的方式将字符串反转。
全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。
全国计算二级考试c语言试题及答案
全国计算二级考试c语言试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型B. 浮点型C. 字符型D. 所有选项答案:D2. C语言中,用于定义一个整型变量的关键字是:A. intB. floatC. charD. double答案:A3. 下列哪个选项不是C语言中的控制结构?A. 顺序结构B. 选择结构C. 循环结构D. 递归结构答案:D4. C语言中,用于实现循环的关键字是:A. forB. whileC. do-whileD. 所有选项答案:D5. 在C语言中,以下哪个函数用于计算两个数的和?A. pow()B. sqrt()C. strcat()D. sum()答案:D6. 下列哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. $variableD. variable答案:B7. C语言中,用于定义一个字符型变量的关键字是:A. intB. floatC. charD. double答案:C8. C语言中,用于输出的函数是:A. printf()B. scanf()C. getchar()D. getche()答案:A9. 在C语言中,以下哪个选项是正确的注释方式?A. /* 这是一个注释 */B. // 这是一个注释C. # 这是一个注释D. 所有选项答案:A10. C语言中,用于定义一个浮点型变量的关键字是:A. intB. floatC. charD. double答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是________。
答案:&&2. C语言中,表示逻辑“或”的运算符是________。
答案:||3. C语言中,表示逻辑“非”的运算符是________。
答案:!4. 在C语言中,用于定义一个字符串的字符数组时,需要在数组声明的末尾加上________。
全国计算机考试二级c语言真题题库答案
全国计算机考试二级c语言真题题库答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B和C都是答案:D2. 下列哪个是合法的C语言变量名?A. 2variableB. variable-nameC. _variableD. variable name答案:C3. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的控制语句?A. ifB. switchC. whileD. A、B和C都是5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. A和B都是答案:D7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str = "Hello";D. A和B都是答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function();C. void function(int a);D. A、B和C都是答案:D9. 在C语言中,以下哪个选项表示“或”逻辑操作?B. ||C. !D. =答案:B10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. A和B都是D. A和B都不是答案:C11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = NULL;D. A和C都是答案:D12. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprintf()D. A、B和C都是13. 在C语言中,以下哪个选项表示“非”逻辑操作?A. &&B. ||C. !D. =答案:C14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. A和B都是D. A和B都不是答案:C15. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. const double PI = 3.14159;C. A和B都是D. A和B都不是答案:A16. 在C语言中,以下哪个选项是正确的联合体声明?A. union {int a;float b;} data;B. struct {int a;float b;C. A和B都是D. A和B都不是答案:A17. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. A、B和C都是答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)3.14B. (float)3C. A和B都是D. A和B都不是答案:C19. 在C语言中,以下哪个选项是正确的递归函数声明?A. void function();B. void function(int a);C. void function(void function());D. A和B都是答案:B20. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifdefD. A、B和C都是二、程序填空题(每题5分,共20分)1. 请填写以下代码段中缺失的部分,以实现计算并打印一个整数的平方:```c#include <stdio.h>int main() {int num, square;scanf("%d", &num);square = num _____ num;printf("Square: %d\n", square);return 0;}```答案:*2。
计算机二级考试真题及答案c语言
计算机二级考试真题及答案c语言一、单项选择题(每题1分,共20分)1. 在C语言中,以下哪个关键字用于声明函数?A. structB. unionC. intD. void答案:D2. 若有定义int a=5; 则执行以下语句后,变量a的值是多少?A. a=(a++)+(++a)+a;B. a=a--+(++a)+a;C. a=(a++)+(++a)+a--;D. a=(a++)+(++a)+a--;答案:A3. 在C语言中,以下哪个运算符用于计算两个数的乘积?A. /B. %C. *D. ^答案:C4. 下列哪个选项是C语言中合法的字符常量?A. 'a'B. "a"C. 'ab'D. '\t'答案:D5. 在C语言中,以下哪个选项是合法的数组声明?A. int a[5];B. int a[];C. int a[5][5];D. int a[5,5];答案:A6. 若有定义int x=10; 则执行以下语句后,变量x的值是多少?A. x=x+++x;B. x=++x+x--;C. x=x--+x++;D. x=x+++x--;答案:B7. 在C语言中,以下哪个关键字用于声明一个结构体?A. structB. unionC. enumD. typedef答案:A8. 在C语言中,以下哪个选项是合法的指针声明?A. int *p;B. int *p[];C. int (*p)();D. int (*p)[5];答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do{}while(0)D. all of the above答案:D10. 在C语言中,以下哪个选项是合法的函数声明?A. int func();B. void func(int a);C. int func(int a, int b);D. all of the above答案:D11. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. all of the above答案:A12. 在C语言中,以下哪个选项是合法的文件操作函数?A. fopenB. fcloseC. freadD. all of the above答案:D13. 在C语言中,以下哪个选项是合法的字符串操作函数?A. strcpyB. strncpyC. strcatD. all of the above答案:D14. 在C语言中,以下哪个选项是合法的动态内存分配函数?A. mallocB. callocC. reallocD. all of the above答案:D15. 在C语言中,以下哪个选项是合法的位操作运算符?A. &B. |C. ^D. all of the above答案:D16. 在C语言中,以下哪个选项是合法的预处理指令?A. #includeB. #defineC. #ifdefD. all of the above答案:D17. 在C语言中,以下哪个选项是合法的类型转换运算符?A. (int)xB. (float)xC. (char)xD. all of the above答案:D18. 在C语言中,以下哪个选项是合法的条件运算符?A. ?B. :C. ||D. &&答案:A19. 在C语言中,以下哪个选项是合法的多维数组声明?A. int a[5][5];B. int a[][5];C. int a[5][];D. int a[][];答案:A20. 在C语言中,以下哪个选项是合法的枚举类型声明?A. enum color {red, green, blue};B. enum {red, green, blue};C. enum color {0, 1, 2};D. all of the above答案:D二、填空题(每题2分,共20分)1. 在C语言中,使用关键字________声明一个函数。
计算机二级考试c语言试题及答案
计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x123B. 123.0C. 123e2D. 123.0L答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是正确的字符串字面量?A. "Hello, World!"B. 'Hello, World!'C. "Hello, World!", 'Hello, World!'D. "Hello, World!'"答案:A4. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a; int b) { return a + b; }C. int add(int a, int b) { return a - b; }D. int add(a, b) { return a + b; }答案:A5. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. int array = 10;答案:A二、填空题1. 在C语言中,用于输入的函数是___________。
答案:scanf2. 在C语言中,用于输出的函数是___________。
答案:printf3. 在C语言中,用于计算两个整数的差的运算符是___________。
答案:-4. 在C语言中,用于定义一个整型变量的关键字是___________。
答案:int5. 在C语言中,用于定义一个字符型变量的关键字是___________。
计算机二级c考试题目及答案解析
计算机二级c考试题目及答案解析一、选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A解析:在C语言中,关键字`struct`用于定义一个结构体,它允许将多个不同类型的数据项组合成一个单一的数据结构。
2. 下列哪个选项是C语言中的合法整型常量?A. 0x12B. 0x1.2C. 0x12.34D. 0x12p答案:A解析:在C语言中,十六进制常量以0x开头,后面跟十六进制数字。
选项A中的0x12是一个合法的整型常量,而B、C和D选项中的表示方法不符合C语言中整型常量的表示规则。
3. C语言中,以下哪个运算符用于计算两个整数的差?A. %B. /C. -D. *答案:C解析:在C语言中,减号`-`用于计算两个整数的差。
其他选项中的运算符分别用于求余(`%`)、除法(`/`)和乘法(`*`)。
二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个函数。
答案:void解析:在C语言中,`void`关键字用于定义一个函数,表示该函数没有返回值。
2. 若有以下代码段:```cint a = 10, b = 20;a = a + b;```则变量a的值为________。
答案:30解析:根据代码段,变量a被赋值为10,变量b被赋值为20,然后a 的值被更新为a和b的和,即10+20=30。
三、编程题(每题20分,共40分)1. 编写一个C语言程序,实现两个整数的加法运算,并输出结果。
```c#include <stdio.h>int main() {int num1, num2, sum;printf("Enter two integers: ");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("The sum is: %d\n", sum);return 0;}```解析:该程序首先包含了标准输入输出库`stdio.h`,然后在`main`函数中定义了三个整型变量`num1`、`num2`和`sum`。
计算机二级c语言试题题库及答案
计算机二级c语言试题题库及答案一、选择题1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串从源地址复制到目标地址?A. strcpyB. strncpyC. strcatD. strcmp答案:A3. C语言中,用于声明一个变量的关键字是:A. varB. varibleC. letD. int答案:D二、填空题1. 在C语言中,定义一个整型数组的语句是:________。
答案:int array_name[size];2. 若一个函数的返回类型为void,则该函数______。
答案:不返回任何值3. 在C语言中,使用________关键字可以定义一个全局变量。
答案:extern三、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,通过指针可以间接访问和操作变量的值。
2. 解释C语言中的递归函数。
答案:递归函数是指函数在其定义中调用自身的函数。
递归函数通常用于解决可以分解为相似子问题的复杂问题。
四、编程题1. 编写一个C语言程序,实现两个整数的加法。
```c#include <stdio.h>int add(int a, int b) {return a + b;}int main() {int num1, num2, sum;printf("Enter two numbers: ");scanf("%d %d", &num1, &num2);sum = add(num1, num2);printf("Sum of %d and %d is %d.\n", num1, num2, sum); return 0;}```2. 编写一个C语言程序,实现字符串反转。
```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) { char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析试题一:选择题1. 下列关于C语言的说法,错误的是()A. C语言是一种高级语言B. C语言具有跨平台性C. C语言编译器可以直接生成机器码D. C语言是一种解释型语言答案:D解析:C语言是一种高级语言,具有跨平台性。
编译器将C语言源程序编译成目标代码,然后通过链接器生成可执行文件,这个过程生成的机器码可以被计算机直接执行,因此C语言不是解释型语言。
2. 以下哪个选项不是C语言的基本数据类型?()A. intB. charC. floatD. string答案:D解析:C语言的基本数据类型包括整型(int)、字符型(char)、浮点型(float)和双精度浮点型(double)。
string不是C语言的基本数据类型,而是由字符数组构成的一种自定义类型。
试题二:填空题1. 在C语言中,每个语句的结尾必须使用()符号。
答案:分号(;)解析:在C语言中,每个语句的结尾必须使用分号(;)作为结束符,表示一个语句的结束。
2. 以下程序的输出结果是()。
```c#include <stdio.h>int main() {int a = 5;int b = 3;printf("%d\n", a % b);return 0;}```答案:2解析:在C语言中,取模运算符(%)用于计算两个整数相除的余数。
在本题中,5除以3的余数为2,因此输出结果为2。
试题三:编程题1. 编写一个C程序,实现以下功能:从键盘输入10个整数,计算并输出这些整数的平均值。
```c#include <stdio.h>int main() {int i, num;float sum = 0.0, average;for (i = 0; i < 10; i++) {printf("请输入第%d个整数:", i + 1);scanf("%d", &num);sum += num;}average = sum / 10;printf("这10个整数的平均值为:%.2f\n", average);return 0;}```解析:本题考查了循环语句、输入输出函数等基本知识。
全国计算机等级考试二级c语言题库及答案
全国计算机等级考试二级c语言题库及答案全国计算机等级考试二级C语言题库及答案1. 以下关于C语言的叙述中,错误的是:A. C语言是一种高级语言B. C语言可以直接被计算机执行C. C语言具有结构化的特点D. C语言支持模块化程序设计答案:B2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. forC. returnD. void答案:D3. 若有定义:int a=3, b=4; 则表达式 a+b 的值是:A. 7B. 6C. 3.4D. 43答案:A4. 在C语言中,以下哪个选项不是合法的变量名?A. _sumB. sum_C. 2valueD. sum$答案:C5. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][2];B. int array[][];C. int array[3][];D. int array[2,3];答案:A6. 若有定义:char c1='a', c2='b'; 则表达式 c1-c2 的值是:A. -1B. 1C. 97D. 98答案:A7. 在C语言中,以下哪个选项不是合法的字符串字面量?A. "Hello"B. 'Hello'C. "123"D. "C\"Language"答案:B8. 若有定义:int x=10; 则表达式 x++ 的结果是:A. 10B. 11C. 9D. 无法确定答案:A9. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. pointer答案:B10. 若有定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式 a[2] 的值是:A. 3B. 4C. 5D. 无法确定答案:A11. 在C语言中,以下哪个选项不是合法的循环控制语句?A. forB. whileC. do-whileD. repeat答案:D12. 若有定义:float x=3.14; 则表达式 (int)x 的值是:A. 3B. 3.14C. 4D. 无法确定答案:A13. 在C语言中,以下哪个选项不是合法的函数参数类型?A. intB. floatC. doubleD. void答案:D14. 若有定义:int a=5, b=10; 则表达式 a%b 的值是:A. 5B. 0C. 1D. 无法确定答案:B15. 在C语言中,以下哪个选项不是合法的输入输出函数?A. printfB. scanfC. coutD. getchar答案:C16. 若有定义:int a=2, b=4; 则表达式 a&b 的值是:A. 0B. 2C. 4D. 6答案:B17. 在C语言中,以下哪个选项不是合法的逻辑运算符?A. &&B. ||C. !D. <答案:D18. 若有定义:int a=3; 则表达式 a<<2 的值是:A. 6B. 12C. 9D. 无法确定答案:B19. 在C语言中,以下哪个选项不是合法的文件操作函数?A. fopenB. fcloseC. removeD. delete答案:D20. 若有定义:int a=6; 则表达式 a==6 的值是:A. 1B. 0C. 6D. 无法确定答案:A。
计算机二级c语言考试题库和答案
计算机二级c语言考试题库和答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12U答案:A2. C语言中,以下哪个选项是正确的字符串字面量?A. "Hello"B. 'Hello'C. "Hello", "World"D. 'Hello', 'World'答案:A3. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. _variableD. variable-2答案:B4. 在C语言中,以下哪个选项是正确的浮点型常量?A. 3.14E2B. 3.14e-2C. 3.14ED. 3.14e答案:B5. 下列哪个选项是C语言中的保留字?A. defineB. sizeofC. includeD. myFunction答案:B6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[5] = {1, 2, 3, 4, 5};B. int array[] = {1, 2, 3, 4, 5};C. int array[5] = {1, 2, 3};D. int array = {1, 2, 3, 4, 5};答案:B7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. !D. All of the above答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. int myFunction(int x);D. All of the above答案:D9. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = 0;D. All of the above答案:D11. 下列哪个选项是C语言中的循环结构?A. forB. whileC. do-whileD. All of the above答案:D12. 在C语言中,以下哪个选项是正确的条件语句?A. ifC. if-elseD. All of the above答案:D13. 下列哪个选项是C语言中的输入输出函数?A. printf()B. scanf()C. Both A and BD. None of the above答案:C14. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int a;float b;B. struct myStruct {int a;float b;};C. Both A and BD. None of the above答案:C15. 下列哪个选项是C语言中的动态内存分配函数?A. malloc()B. calloc()C. realloc()D. All of the above答案:D16. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {RED, GREEN, BLUE};B. enum {RED, GREEN, BLUE};C. Both A and BD. None of the above答案:C17. 下列哪个选项是C语言中的联合体声明?A. union {int a;float b;} myUnion;B. union myUnion {int a;float b;};C. Both A and BD. None of the above答案:C18. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. const double PI = 3.14;C. Both A and BD. None of the above答案:A19. 下列哪个选项是C语言中的文件操作函数?A. fopen()B. fclose()C. Both A and BD. None of the above答案:C20. 在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. void printNumbers(int n);C. int factorial(int n) {if (n == 0) return 1;return n * factorial(n - 1);}D. All of the above答案:D二、填空题(每题2分,共20分)21. 在C语言中,`sizeof`运算符用于获取______的字节大小。
计算机二级证c语言试题及答案
计算机二级证c语言试题及答案计算机二级证C语言试题及答案1. 以下关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言。
B. C语言是面向对象的编程语言。
C. C语言具有跨平台的特性。
D. C语言可以用于系统软件的开发。
答案:B2. 在C语言中,下列哪个选项不是合法的变量名?A. _nameB. name_2C. 2nameD. name答案:C3. 以下关于C语言中数组的描述,正确的是()。
A. 数组的大小在编译时确定。
B. 数组的大小在运行时确定。
C. 数组的元素可以是任意数据类型。
D. 数组的元素必须是相同的数据类型。
答案:A4. 在C语言中,下列哪个运算符用于执行加法运算?A. +B. -C. *D. /答案:A5. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. %=D. =答案:A6. 在C语言中,使用哪个关键字可以定义一个函数?A. classB. functionC. defD. int答案:D7. 以下关于C语言中指针的描述,错误的是()。
A. 指针可以存储变量的地址。
B. 指针可以存储函数的地址。
C. 指针可以存储数组的地址。
D. 指针本身没有地址。
答案:D8. 在C语言中,下列哪个选项不是控制语句?A. ifB. whileC. forD. switch答案:D9. 在C语言中,下列哪个选项用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 下列哪个选项是C语言中预处理指令?A. #includeB. #defineC. #ifD. All of the above答案:D11. 在C语言中,下列哪个选项用于定义一个枚举类型?A. enumB. structC. unionD. typedef答案:A12. 在C语言中,下列哪个选项用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B13. 在C语言中,下列哪个选项用于定义一个宏?A. #defineB. #includeC. #ifD. #define答案:A14. 在C语言中,下列哪个选项用于将字符串转换为字符数组?A. strcpyB. strcatC. strncatD. sprintf答案:A15. 在C语言中,下列哪个选项用于将整数转换为字符串?A. atoiB. itoaC. sprintfD. printf答案:C。
计算机二级c语言100套试题及答案
计算机二级c语言100套试题及答案1. 题目:编写一个C语言程序,计算并输出1到100之间所有偶数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("1到100之间所有偶数的和是:%d\n", sum);return 0;}```2. 题目:编写一个C语言程序,实现字符串的反转。
```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int length = strlen(str);for (int i = 0; i < length / 2; i++) {char temp = str[i];str[i] = str[length - i - 1];str[length - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("反转后的字符串是:%s\n", str);return 0;}```3. 题目:编写一个C语言程序,计算并输出100以内最大的10个质数。
```c#include <stdio.h>#include <stdbool.h>bool isPrime(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 count = 0;int primes[10];for (int i = 2; i < 100 && count < 10; i++) { if (isPrime(i)) {primes[count++] = i;}}printf("100以内最大的10个质数是:");for (int i = 0; i < count; i++) {printf("%d ", primes[i]);}printf("\n");return 0;}```4. 题目:编写一个C语言程序,实现两个整数的交换。
2级计算机等级考试c语言试题及答案
2级计算机等级考试c语言试题及答案本文为2级计算机等级考试C语言试题及答案,以下是试题及对应答案。
第一部分:单选题(共10题,每题2分,共20分)1. 下列关于C语言的表述中,错误的是:A. C语言是面向过程的编程语言。
B. C语言是一种高级语言。
C. C语言是由贝尔实验室的Dennis Ritchie于1972年发明的。
D. C语言是一种解释性语言。
答案:D2. 以下哪个不是C语言的基本数据类型?A. intB. floatC. stringD. double答案:C3. 在C语言中,可以使用下面哪个关键字来定义常量?A. finalB. varC. constD. let答案:C4. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {printf("%d\n", sizeof(int));return 0;}A. 2B. 4C. 8D. 编译错误答案:B5. 下列关于指针的说法中,错误的是:A. 指针存储的是变量的地址。
B. 可以使用指针来间接访问变量。
C. 指针变量必须在使用之前初始化。
D. C语言不支持指针。
答案:D6. 以下哪个关键字可以用于声明一个函数?A. functionB. voidC. methodD. return答案:B7. 在C语言中,使用以下哪个关键字来定义一个结构体?A. newB. classC. structD. typedef答案:C8. 下列代码段中,输出结果是什么?#include <stdio.h>int sum(int a, int b) {return a + b;}int main() {int result = sum(3, 5);printf("%d\n", result);return 0;}A. 3B. 5C. 8D. 编译错误答案:C9. 下列代码段中,输出结果是什么?#include <stdio.h>int main() {int arr[5] = {1, 2, 3, 4, 5};printf("%d\n", arr[3]);return 0;}A. 1B. 2C. 3D. 4答案:D10. 在C语言中,下列哪个运算符用于取两个数中的较大值?A. maxB. >C. &D. ||答案:B第二部分:填空题(共5题,每题2分,共10分)1. C语言中,行注释以(//)开头,块注释以(/*)开头,以(*/)结尾。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
计算机二级c语言考试题及答案
计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。
A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。
答案:void2. C语言中,用于输入输出的库函数分别是________和________。
答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。
答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。
c国家二级考试真题及答案
c国家二级考试真题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. variable-2D. variable_2答案:B2. 下列关于C语言中整型常量的描述,错误的是?A. 整型常量可以是正数或负数B. 整型常量可以是十进制、八进制或十六进制C. 整型常量必须以数字开头D. 整型常量可以带有小数点答案:D3. 在C语言中,以下哪个选项表示的是逻辑与操作?A. &&B. ||C. !D. ~答案:A4. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[0]` 的值是多少?A. 1B. 2C. 3D. 4答案:A5. 在C语言中,以下哪个关键字用于定义函数?A. intB. voidC. returnD. function答案:B6. 下列哪个选项不是C语言标准库函数?A. printf()B. scanf()C. cout()D. sqrt()答案:C7. 下列关于C语言中数组的描述,正确的是?A. 数组的大小在定义后可以改变B. 数组的元素必须是同一数据类型C. 数组名代表数组的首地址D. 数组名可以作为函数参数直接传递答案:B8. 在C语言中,以下哪个选项表示的是逻辑或操作?A. &&B. ||C. !D. ~答案:B9. 若有定义 `int a[5] = {1, 2, 3, 4, 5};`,则 `a[4]` 的值是多少?A. 1B. 2C. 3D. 5答案:D10. 在C语言中,以下哪个关键字用于声明变量?A. intB. voidC. returnD. function答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如:'A'。
2. C语言中,`sizeof` 运算符用于获取数据类型或变量所占的字节数。
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第2套全真模拟试卷一、选择题(1)下列选项中不属于算法的特性的是A)确定性B)可行性C)有输出D)无穷性(2)下列叙述中正确的是A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构(3)设有下列二叉树:对此二叉树中序遍历的结果为A)ABCDEF B)DAECF C)BDAECF D)DBEFCA(4)结构化程序设计主要强调的是A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性(5)在面向对象设计中,对象有很多基本特点,其中“从外面看只能看到对象的外部特性,而对象的内部对外是不可见的”这一性质指的是对象的A)分类性B)标识唯一性C)多态性D)封装性(6)用黑盒技术测试用例的方法之一为A)因果图B)逻辑覆盖C)循环覆盖D)基本路径测试(7)在进行单元测试时,常用的方法是A)采用白盒测试,辅之以黑盒测试B)采用黑盒测试,辅之以白盒测试C)只使用白盒测试D)只使用黑盒测试(8)下面四个选项中,不属于数据库管理系统提供的数据语言的是A)数据定义语言B)数据查询语言C)数据操纵语言D)数据控制语言(9)在关系数据库模型中,通常可以把()称为属性,其值称为属性值。
A)记录B)基本表C)模式D)字段(10)实体联系模型中实体与实体之间的联系不可能是A)一对一B)多对多C)一对多D)一对零(11)用C语言编写的代码程序A)可立即执行B)是一个源程序C)经过编译即可执行D)经过编译解释即可执行(12)以下叙述中正确的是A)C语言的源程序不必通过编译就可以直接执行B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令C)C源程序经编译形成的二进制代码可以直接运行D)C语言中的函数不可以单独进行编译(13)以下定义语句中正确的是A)char a=´A´b´B´; B)float a=b=10.0;C)int a=10,*b=&a; D)float *a,b=&a;(14)有以下程序:main(){ int a; char c=10;float f=100.0; double x;a=f/=c*=(x=6.5);printf(*%d %d %3 %3.1f %3.1f\n",a c, f, x);}程序运行后的输出结果是A)1 65 1 6.5 B)1 65 1.5 6.5C)1 65 1.0 6.5 D)2 65 1.5 6.5(15)数据库设计的根本目标是要解决A)数据共享问题B)数据安全问题C)大量数据存储问题D)简化数据维护(16)设有定义:float a=2,b=4,h=3;,以下C语言表达式中与代数式1(a+b)h计算结果不相2符的是A)(a+b)*h/2 B)(1/2)*(a+b)*h C)(a+b)*h*1/2 D)h/2*(a+b) (17)有以下程序main(){int m=0256,n=256;printf("%o %o\n",m,n);}程序运行后的输出结果是A)0256 0400 B)0256 256 C)256 400D)400 400 (18)数据库系统的核心是A)数据模型B)数据库管理系统C)数据库D)数据库管理员(19)以下叙述中错误的是A)用户所定义的标识符允许使用关键字B)用户所定义的标识符应尽量做到“见名知意”C)用户所定义的标识符必须以字母或下划线开头D)用户定义的标识符中,大、小写字母代表不同标识(20)有以下程序:main(){char k; int i;for(i=1;i<3;i++)}scanf("%c",&k);switch(k){case ´0´: printf("another\n");case´1´: printf("number\n");}}}程序运行时,从键盘键入:01<回车>,程序执行后的输出结果是A)another B)another C)another D)numbernumber number number numberanother number(21)以下叙述中正确的是A)用 C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(22)有以下程序main(){ int i=0,s=0;do{if(i%2) {i++;continue;}i++;s+=i;} while(i<7);printf("%d\n",s);}执行后输出的结果是A)16 B)12 C)28 D)21(23)已定义ch为字符型变量,以下赋值语句中错误的是A)ch=´\´;B)ch=62+3; C)ch=NULL; D)ch=´\xaa´;(24)有以下程序main(){ char a,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若运行时从键盘上输入:6,5,65,66<回车> 。
则输出结果是A)6,5,A,B B)6,5,65,66 C)6,5,6,5 D)6,5,6,6(25)以下能正确定义二维数组的是A)int a[][3]; B)int a[][3]={2*};C)int a[][3]={}; D)int a[2][3]={{1},{2},{3,4};(26)以下程序的输出结果是#include <stdio.h>main(){ int i=0,a=0;while(i<20){ for(;;){ if((i%10)==0) break;else i--;}i+=11; a+=i;}printf("%d\n",a) ;}A)21 B)32 C)33 D)11(27)若程序中已包含头文件stdio.h,以下选项中,正确运用指针变量的程序段是A)int *i=NULL; B)float *f=NULL;scanf(%d",i); *f=10.5C)char t=´m´,*c=&t; D)long*L;*c=&t; L=´\0´;(28)有以下程序:#include <stdio.h>main(){ printf("%d\n", NULL); }程序运行后的输出结果是A)0 B)1 C)-1 D)NULL没定义,出错(29)有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0];}执行后输出结果是A)n,two B)t,one C)w,one D)o,two(30)以下不能正确定义二维数组的选项是A)int a [2][2]={{1},{2}}; B)int a[][2]={1,2,3,4};C)int a[2][2]={{1},2,3}; D)int a[2][]={{1,2},{3,4}}; (31)设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是A)(!a==1)&&(!b==0) B)(a>b)&&!c||1C)a && b D)a||(b+b)&&(c-a)(32)设有以下定义和语句int a[3] [2]={1,2,3,4,5,6}, *p[3];p[0]=a[1];则*(p[0]+1)所代表的数组元素是A)a[0][1] B)a[1][0] C)a[1][1]D)a[1][2](33)有以下程序main(){int aa[4][4]={{1,2,3,4},{,5,6,7,8},{3,9,10,2},{4,2,9,6}};int i,s=0for(i=0;i<4;i++) s+=aa[i] [1];printf("%d\n",s);}程序运行后的输出结果是A)11 B)19 C)13 D)20(34)有以下程序int f1(int x,int y) { return x>y?x:y; }int f2(int x,int y) { returnx>y?y:x; }main(){int a=4,b=3,c=5,d=2,e,f,g;e = f2(f1(a,b), f1(c,d)); f=f1(f2(a,b), f2(c,d));g = a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序运行后的输出结果是A)4,3,7 B)3,4,7 C)5,2,7 D)2,5,7(35)设变量已正确定义,则以下能正确计算f=n!的程序段是A)f=0; B)f=1;for(i=1;i<=n,i++)f*=i; for(i=1;i<n;i++)f*=i;C)f=1; D)f=1;for(i=n;i>1;i++)f*=i; for(i=n;i>2;i--)f*=i;(36)以下叙述中正确的是A)全局变量的作用域一定比局部变量的作用域范围大B)静态(static)类别变量的生存期贯穿于整个程序的运行期间C)函数的形参都属于全局变量D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值(37)设有以下语句typedef struct s{ int g. char h; } T;则下面叙述中正确的是A)可用S定义结构体变量B)可以用T定义结构体变量C)S是struct类型的变量D)T是struct s类型的变量(38)以下叙述中错误的是A)对于double类型数组,不可以直接用数组名对数组进行整体输入或输出B)数组名代表的是数组所占存储区的首地址,其值不可改变C)当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息D)可以通过赋初值饿方式确定数组元素的个数(39)有以下程序int fa(int x){ return x*x; }int fb(int x){ return x*x*x; }int f(int (*f1) (),int (*f2) (),int x){ return f2(x)=f1(x); }main(){ int i;i=f(fa,fb,2); printf("%d \n",i);}程序运行后的输出结果是A)-1 B)1 C)4 D)8(40)有以下程序struct s{ int x,y; } data[2]={10,100,20,200};main(){ struct x *p=data;printf("%d\n",++(p->x));}程序运行后的输出结果是A)10 B)11 C)20 D)21(41)有以下程序void ss(char *s,char t){while(*s){if(*s==t) *s=t-´s´+´A´;s++;}}main(){char strl[100]= "abcddfefdbd",c=´d´;ss(strl,c); printf("%s\n",strl);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(42)有以下程序main(int argc,char *srgv[]){ int n,i=0;while(atgv[1][i]!=´\0´){ n=fun(); i++;}printf("%d\n",n*argc);}int fun(){ struct int s=0;s+=1;return s;}假设程序经编译、连接后生成可执行文件exam.exe,若键入以下命令exam 123<回车>则运行结果为A)6 B)8 C)3 D)4(43)已定义以下函数:fun (char* p2, char* p1){ while ((*p2=*p1 != ´\0´) {p1++;p2++} )函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有´\0´(44)有以下程序main(){int x[] = (1, 3, 5, 7, 2, 4, 6, 0), i, j, k;for(i = 0; i < 3; i++)for(j = 2;j >= i; j--)if (x[j+1] > x[j]){k = x[j];x[j] = x[j+1];x[j+1] = k;}for (i = 0; i < 3; i++)for (j = 4; j < 7-i; j++)if (x[j] > x[j+1]){k = x[j];x[j] = x[j+1];x[j+1] = k;}for (i = 0; i < 8; i++)printf("%d", x[i]);printf("\n");}程序运行后的输出结果是A)75310246 B)01234567 C)76310462 D)13570246 (45)设有如下定义struct ss{ char name[10];int age;char sex;} std[3],* p=std;下面各输入语句中错误的是A)scanf("%d",&(*p).age); B)scanf("%s",&);C)scanf("%c",&std[0].sex); D)scanf("%c",&(p->sex));(46)有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个连续结点。