广工C语言编程题目

合集下载

C语言编程测试题(含答案)范本

C语言编程测试题(含答案)范本

C语言编程测试题(含答案)范本C语言编程测试题(含答案)范本一、题目描述编写一个C程序,实现以下功能:1. 接受用户输入一个整数n,并计算从1到n的累加和。

2. 打印出这个累加和的值。

二、解题思路为了实现以上功能,我们可以使用循环结构,在每次循环中将当前数字与之前的累加和相加,并将结果保存在累加和中,直到遍历完从1到n的所有数字。

最后,打印出累加和的值。

三、编程实现以下是此题的C语言程序实现:```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个整数n:");scanf("%d", &n);for (i = 1; i <= n; i++) {sum += i;}printf("从1到%d的累加和为:%d\n", n, sum);return 0;}```四、示例运行以下是一个示例运行过程:```请输入一个整数n:10从1到10的累加和为:55```五、总结通过本次编程测试题,我们学习了如何使用C语言编写一个求从1到n的累加和的程序。

这个程序利用循环结构遍历从1到n的所有数字,并使用sum变量保存累加和的结果。

我们可以根据需要修改程序中的n值,来计算不同范围的累加和。

六、答案解析本题的答案是一个简单的C语言程序,通过循环和累加实现从1到n的求和功能。

这个程序的关键在于正确使用循环来遍历数字并实现累加操作。

通过理解循环结构和变量的使用,我们可以更好地掌握C语言的编程技巧。

编程测试题是提高编程实践能力的重要方法,希望大家继续努力学习,提高自己的编程水平。

C语言编程题经典40题(附解答)

C语言编程题经典40题(附解答)
字符串
字符串在C语言中通常表示为字符数组。可以通过字符数组来存储和操作字符串。字符串的常用函数 包括strcpy()、strcat()、strlen()等。
03
进阶题目
函数与递归
总结词
理解函数定义、参数传递、递归调用等概念,掌握函数的使用方法。
题目1
编写一个函数,判断一个整数是否为素数。
题目2
编写一个函数,计算斐波那契数列的第n项。
培养逻辑思维
C语言强调结构化和严谨 的编程风格,学习C语言 有助于培养逻辑思维和问 题解决能力。
为什么选择这40道题目
经典题目
精选的40道题目均来自经典的C语言题目库,具有较高的代表性和难 度。
覆盖面广
题目涵盖了C语言的主要知识点,包括数据类型、控制结构、函数、 指针等,有助于全面提升编程能力。
难度适中
实现二叉树的基本操作(创建、插 入、删除、遍历)
题目12
实现堆排序算法
04
THANKS
感谢观看
01
02
文件打开
使用fopen()函数打开文件,并返回一 个FILE类型的指针。
03
文件读取
使用fscanf()、fgets()等函数从文件中 读取数据。
文件关闭
使用fclose()函数关闭文件。
05
04
文件写入
使用fprintf()、fputs()等函数将数据写 入文件。
动态内存分配
总结词
动态内存分配允许程序员在运行时根 据需要分配或释放内存,提高了程序 的灵活性和可扩展性。
数组与字符串
01
理解数组的概念和使用方法
02
掌握字符串的存储和操作
03
熟悉数组和字符串的常用函数

2021年广东省潮州市全国计算机等级考试C语言程序设计测试卷一(含答案)

2021年广东省潮州市全国计算机等级考试C语言程序设计测试卷一(含答案)

2021年广东省潮州市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.有以下程序:#include<stdi0.h>main(){int a=1,b=2;for(;a<8;a++){b+=a;a+=2;)printf("%d,%d\n",a,b);}程序运行后的输出结果是()。

A.9,18 B.8,11 C.7,11 D.10,142.3. 若有定义int a=5, b=7;,则表达式a%=(b%2)运算后,a的值为( )。

A.0B.1C.11D.34. 下面程序输出的结果是main() { int x;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}A.11 1 -3 1B.11 -3 2 1C.12 -3 2 1D.11 1 2 15.给定数列(541,132,984,746,518,181,946,314,205,827)按照从小到大的顺序排列,采用快速排序(以中间元素518为基准)的第一趟扫描结果是()A.(541,132,827,746,518,181,946,314,205,984)B.(205,132,314,181,518,746,946,984,541,827)C.(132,541,746,984,181,518,314,946,205,827)D.(132,541,746,518,181,946,314,205,827,984)6. 以下选项中,非法的字符常量是______。

A.'\t'B.'\17'C.\nD.'\xaa'7. C语言中最简单的数据类型包括( )。

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.已知字符A的ASCⅡ代码值是65,字符变量c1的直是A,c2的值是D。

执行语句printf("%d,%d",c1,c2-2);后,输出结果是( )。

A.A,BB.A,68C.65,66D.65,682.如有inta=11;则表达式(a/1)的值是()。

A.0B.3C.4D.113. 以下程序的输出结果是______。

A.54321B.12345C.12345D.543210main(){int w=5;fun(w);printf("\n");}fun (int k){if(k>0)fun(k-1);printf("%d"",k);}4.5. 下列程序的输出结果是( )。

main() { char a[7]="a0\0a0\0";int i,j;i=sizeof(a);j=strlen(a);printf("%d %d\n",i,j);}A.2 2B.7 6C.7 2D.6 26.7.有以下程序:#include <stdio.h>void f1(char *a, char b ) {char c; c=*a; *a=b; b=c;}void f2(char a, char b ) {char c; c=a; a=b; b=c;}void f3(char *a, char *b ) {char c; c=*a; *a=* b; *b=c;}main(){char t1, t2 ;t1=‘A’; t2=‘B’;f3(&t1, &t2); putchar(t1); putchar(t2);t1=‘A’; t2=‘B’; f2(t1, t2); putchar(t1); putchar(t2);t1=‘A’; t2=‘B’; f1(&t1, t2); putchar(t1); putchar(t2);printf(“\n”);}程序运行后的输出结果是()。

2022年广东省潮州市全国计算机等级考试C语言程序设计模拟考试(含答案)

2022年广东省潮州市全国计算机等级考试C语言程序设计模拟考试(含答案)

2022年广东省潮州市全国计算机等级考试C语言程序设计模拟考试(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.有以下程序:#include<stdio.h>main(){unsigned char a=8,C;C=a>>3:printf("%d\n",c);}程序运行后的输出结果是()。

A.32 B.16 C.1 D.02.下列叙述中正确的是( )。

A.一个逻辑数据结构只能有一种存储结构B.逻辑结构属于线性结构,存储结构属于非线性结构C.一个逻辑数据结构可以有多种存储结构,且各种存诸结构不影响数据处理的效率D.一个逻辑数据结构可以有多种存储结构,且各种存诸结构影响数据处理的效率3.下列叙述中正确的是A.C语言中既有逻辑类型也有集合类型B.C语言中没有逻辑类型但有集合类型C.C语言中有逻辑类型但没有集合类型D.C语言中既没有逻辑类型也没有集合类型4.以下关于long、int和short类型数据占用内存大小的叙述中正确的是( ),A.均占4个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由C语言编译系统决定5.栈的特点是B,队列的特点是()。

A.先进先出B.先进后出6. 有下列程序段:int k=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c=k;执行该程序段后,k的值是( )。

A.3B.2C.1D.07.程序流程图中带有箭头的线段表示的是()。

A.图元关系B.数据流C.控制流D.调用关系8.在下列几种排序方法中,要求内存量最大的是______。

A.插入排序B.选择排序C.快速排序D.归并排序9.10.设有以下说明,则不正确的叙述是()。

A.A.arr所占的内存长度等于成员c的长度B.arr的地址和它的各成员的地址都是同一地址C.arr可以作为函数参数D.不能在定义arr时对它初始化11.12. 判断字符串s1是否大于字符串s2,应该使用( )。

广东计算机二级c试题及答案

广东计算机二级c试题及答案

广东计算机二级c试题及答案一、选择题(每题2分,共40分)1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A3. 下列哪个选项是合法的C语言常量?A. '123'B. "123"C. 123D. 0x1A答案:D4. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. C语言中,以下哪个关键字用于声明一个函数?A. structB. voidC. intD. return答案:C6. 在C语言中,以下哪个选项是正确的一维数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. ==D. All of the above答案:D8. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D9. 在C语言中,以下哪个函数用于打开一个文件?A. fopenB. fcloseC. freadD. fwrite答案:A10. C语言中,以下哪个关键字用于定义一个宏?A. defineB. macroC. #defineD. #include答案:C11. 在C语言中,以下哪个选项是正确的二维数组声明?A. int array[2][3];B. int array[][3];C. int array[2][];D. int array[][2];答案:A12. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A13. 在C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A14. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D15. 在C语言中,以下哪个函数用于关闭一个文件?A. fopenB. fcloseC. freadD. fwrite答案:B16. C语言中,以下哪个关键字用于声明一个联合体?A. structB. unionC. enumD. typedef答案:B17. 在C语言中,以下哪个选项是正确的函数声明?A. int function();B. void function();C. int function(int);D. All of the above答案:D18. C语言中,以下哪个关键字用于声明一个外部变量?A. externB. staticC. constD. volatile答案:A19. 下列哪个选项是C语言中的条件运算符?A. ?B. :C. &&D. ||答案:A20. 在C语言中,以下哪个函数用于计算两个整数的差?A. absB. powC. diffD. subtract答案:A二、填空题(每题2分,共20分)1. 在C语言中,____关键字用于定义一个函数的返回类型。

2023年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案)

2023年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案)

2023年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、2.填空题(10题)1. 阅读下面程序,则执行后的输出结果是【】。

#include "stdio.h"main(){ int x,y,z;x=1;y=2;z=3;if(x>y)if(x>z)printf("%d",x);else printf("%d",y);printf("%d\n",z);}2. 对软件是否能达到用户所期望的要求的测试称为【】。

3. 面向对象的模型中,最基本的概念是对象和______。

4. 以下程序的输出结果是【】。

main(){ int y=9;for(;y>0;y--)if(y%3==0){printf("%d",--y);continue;}}5. 下面程序的运行结果是【】。

#include<stdio.h>#define SIZE 12main(){ char s[SIZE]; int I;for(I=0;I<SIZE;I++) s[I]=′A′+I+321; sub(s,7,SIZE-1);for(I=0;I<SIZE;I++) printf("%c",s[I]);printf("\n");}sub(char*a,int t1,int t2){ char ch;while (t1<t2){ ch=*(a+t1);*(a+t1)=*(a+t2);*(a+t2)=ch;t1++;t2--; } }6. 当运行以下程序时,从键盘输入abcdabcdef<CR>cde<CR>(<CR>表示回车),则下面程序的运行结果是【】。

#include<stdio.h>main(){ int a;char s[80],t[80];gets(s);gets(t);a=fun(s,t);printf("a=%d\n",a);}fun(char*p,char*q){ int i;char*p1=p;char*q1;for(i=0;*p!='\0';p++,i++){ p=p1+i;if(*p!=*q)continue;for(q1=q+1,p=p+1;*p!='\0'&&*q1!='\0';q1++,p++)if(*p!=*q1) break;if(*q1=='\0') return i;}return(-1);}7. 下面程序的运行结果是( )。

2022年广东省中山市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年广东省中山市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年广东省中山市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 已知int t=0;while(t=1){…} 则以下叙述正确的是( )。

A.循环控制表达式的值为0B.循环控制表达式的值为1C.循环控制表达式不合法D.以上说法都不对2.用数组r存储静态链表,结点的next域指向后继,工作指针j指向链中结点,使j沿链移动的操作为()。

A.j=r[j].nextB.j=j+1C.j=j->nextD.j=r[j]->next3.有以下程序段#include <stdio.h>void fun(char*fname,char*st){ FILE * myf;int i;myf=fopen(fname,"w");for(i=0;i<strlen(st);i++)fputc(st[i],myf);fclose(myf);}main(){ fun("test.t","new world");fun("test.t","hello,");}程序执行后,文件test.t中的内容是A.A.hello,B.new worldhello,C.new worldD.hello,rld4. 语句int(*ptr)()的含义是( )。

A.ptr是一个返回值是int的函数B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指向血型数据的指针5.采用表结构来表示数据和数据间联系的模型是()。

A.层次模型B.概念模型C.网状模型D.关系模型6.数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。

广东自考c试题及答案

广东自考c试题及答案

广东自考c试题及答案广东自考C试题及答案一、单项选择题(每题1分,共10分)1. 下列哪个选项不是C语言的基本数据类型?A. intB. floatC. charD. string答案:D2. C语言中,哪个关键字用于定义一个函数?A. defineB. functionC. voidD. int答案:C3. 在C语言中,用于表示逻辑“与”操作的运算符是什么?A. &&B. ||C. !D. %答案:A4. 下列哪个选项是C语言中的循环结构?A. ifB. switchC. forD. while答案:C5. C语言中,用于定义一个结构体的关键字是什么?A. structB. unionC. enumD. typedef答案:A6. 在C语言中,如何定义一个指针变量?A. int *p;B. int p;C. int* p;D. int p*;答案:C7. 下列哪个选项不是C语言的预处理指令?A. #includeB. #defineC. #importD. #pragma答案:C8. C语言中,用于动态内存分配的函数是?A. mallocB. freeC. callocD. realloc答案:A9. 下列哪个选项是C语言中数组的声明方式?A. int a[10];B. int [10] a;C. int a=10;D. int a;答案:A10. C语言中,用于文件操作的库函数是?A. printfB. scanfC. fopenD. fclose答案:C二、填空题(每题2分,共20分)1. C语言中,用于定义一个全局变量的关键字是________。

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

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

答案:strcpy4. 当需要在C语言中包含标准输入输出库时,需要使用预处理指令________。

广东c语言程序设计专升本练习题

广东c语言程序设计专升本练习题

广东c语言程序设计专升本练习题### 广东C语言程序设计专升本练习题#### 一、选择题(每题2分,共10分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. variable2C. variable-2D. variable$22. C语言中,整型变量int a;的取值范围是多少?A. -128到127B. -32768到32767C. -2147483648到2147483647D. -32768到327683. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 0X1aC. 0x1aD. 0X1A4. 以下哪个函数原型声明是正确的?A. void function();B. int function;C. void function(int);D. int function(int);5. C语言中,以下哪个选项是正确的字符串定义?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello", "World";D. char str = "Hello";#### 二、填空题(每题3分,共15分)1. 在C语言中,一个整型变量占用的字节数是______。

2. C语言中,逻辑与运算符用______表示。

3. 若有定义:int a = 2; float b = 1.5;,则表达式a + b的结果是______。

4. 在C语言中,使用______函数可以将字符串连接起来。

5. 若有数组定义:int arr[5] = {1, 2, 3, 4, 5};,则arr[2]的值是______。

#### 三、编程题(每题15分,共30分)1. 编写一个C语言程序,计算并输出100以内所有素数的和。

```c#include <stdio.h>int isPrime(int num) {if (num <= 1) return 0;for (int i = 2; i * i <= num; i++) {if (num % i == 0) return 0;}return 1;}int main() {int sum = 0;for (int i = 2; i < 100; i++) {if (isPrime(i)) {sum += i;}}printf("The sum of all prime numbers less than 100 is: %d\n", sum);return 0;}```2. 编写一个C语言程序,实现字符串的反转。

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷一(含答案)

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷一(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 下列关于标识符的说法中错误的是A.合法的标识符是由字母、数字和下划线组成B.C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C.C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D.用户标识符与关键字不同时,程序在执行时将给出出错信息2. 若执行下述程序时,若从键盘输入6和8,结果为( )。

main() {int a,b,s;scanf("%d%dt",&a,&B);s=a:if(s=B)s*=s;printf("%d",s);}A.36B.64C.48D.以上都不对3. 有以下程序段:struct st{int x; int *y; } *pt;int a[]={1,2}, b[]={3,4};struct st c[2]={10,a,20,b};pt=c; 以下选项中表达式的值为11的是( )。

A.*pt->yB.pt->xC.++pt->xD.(pt++)->x4. 下面程序的输出结果是______。

#include<stdio.h>main(){ char*p[]={"BOOL","OPK","H","SP"};int i:for(i=3;i>=0;i-,i-) printf("%c",*p[i]); printf("\n");}A.SOB.SPC.SPOPKD.SHOB5.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是().A.地址传递B.单向值传递C.由实参传给形参,再由形参传回实参D.传递方式由用户指定6.在所有的排序方法中,关键字比较的次数与记录的初始排列次序无关的是()。

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷(含答案)

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷(含答案)

2022-2023学年广东省肇庆市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列叙述中错误的是()。

A.C语言程序必须由一个或一个以上的函数组成B.函数调用可以作为一个独立的语句存在C.若函数有返回值,必须通过return语句返回D.函数形参的值也可以传回给对应的实参2. 设有如下定义:int(*ptr);则以下叙述中正确的是( )。

A.ptr是指向一维组数的指针变量B.ptr是指向int型数据的指针变量C.ptr是指向函数的指针,该函数返回一个int型数据D.ptr是一个函数名,该函数的返回值是指int型数据的指针3.同一个关系模型的任意两个元组值()。

A.可以全相同B.不能全相同C.必须全相同D.以上都不对4.C语言常量的类型从字面形式上可区分,以下判断中正确的是()。

A.2E3——整型B.2.0E3——实型C.‘\025’——字符串D.“a”——字符型5.执行下述程序后,输出的结果是( )。

#include<stdio.h>#define S(X)X*Xvoid main{ int a=9,k=3,m=2;a/=S(k+m)/s(k+m);printf("%d",a);}A.1B.4C.9D.06.7. 有定义语句:“int x,y;”,若要通过“scanf("%d,%d,&x,&y);”语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是A.11 12<回车>B.11,12<回车>C.11,12<回车>D.11,<回车>12<回车>8.一个栈的输入序列为123…n,若输出序列的第一个元素是n,输出第i(1<=i<=n)个元素是()A.不确定B.n-i+1C.iD.n-i9.下面关于线性表的叙述中,错误的是哪一个()。

2022年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年广东省广州市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.2.在位运算中,操作数左移一位,其结果相当于A.A.操作数乘以2B.操作数除以2C.操作数除以4D.操作数乘以43.算法分析的两个主要方面是()。

A.空间复杂度和时间复杂度B.正确性和简明性C.可读性和文档性D.数据复杂性和程序复杂性4.有以下程序:#include <stdio.h>void main (){double x=3.14159;printf(“%f\n”, (int)(x*1000+0.5)/(double)1000);}程序运行后的输出结果是()。

A.3.142000B.3.141000C.3.143000D.3.1400005. 以下程序中函数reverse 的功能是将a所指数组中的内容进行逆置。

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.306.若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%x\n", m);执行后的输出结果是A.A.0X0B.0x0C.0D.0xABC7.软件是指( )。

A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合8.有下列程序:main(){ char*P[]={"3697","2584");int i,j;long num=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序执行后的输出结果是()。

2021年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)

2021年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)

2021年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.2.设有定义“struct { char mark[12] ; int num1; double num2;} t1, t2;”,若变量均已正确赋初值,则下列语句中错误的是()。

A.t1=t2;B.t2. num1=t1. num1;C.t2. mark=t1. mark;D.t2. num2=t1. num2;3.设有定义语句则以下叙述正确的是( ).A.f是指向函数的指针变量,该函数具有_个int类型的形参B.f是基类型为int的指针变量C.f是指向int类型一维数组的指针变量D.f是函数名,该函数的返回值是基类型为int类型的地址4.以下说法错误的是A.A.高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B.计算机只能处理由0和1的代码构成的二进制指令或数据C.C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D.每一种高级语言都有它对应的编译程序5. 下列说法正确的是( )。

A.在C语言中,可以使用动态内存分配技术定义元素个数可变的数组B.在c语言中,数组元素的个数可以不确定,允许随机变动C.在C语言中,数组元素的数据类型可以不一致D.在C语言中,定义一个数组后.就确定了它所容纳的元素的个数6.以下叙述中正确的是( )。

A.A.break语句只能用在循环体内和switch’语句体内B.continue语句的作用是:使程序的执行流程跳出包含它的所有循环C.在循环体内使用break语句和continue语句的作用相同D.break语句只能用于switch语句体中7.结构化分析方法是面向()的自顶向下、逐步求精进行需求分析的方法A.对象B.数据结构C.数据流D.目标8.具有n个顶点的完全有向图的弧数为()。

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)

2022-2023学年广东省惠州市全国计算机等级考试C语言程序设计真题一卷(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列选项中,不属于数据管理员(DBA.职责的是()。

A.数据库维护B.数据库设计C.改善系统性能,提高系统效率D.数据类型转换2.串的长度是______。

A.A.串中不同字符的个数B.串中不同字母的个数C.串中所含字符的个数且字符个数大于零D.串中所含字符的个数3. 以下叙述中错误的是A.在程序中凡是以“#”开始的语句行都是预处理命令行B.预处理命令行的最后不能以分号表示结束C.#define MAX是合法的宏定义命令行D.C程序对预处理命令行的处理是在程序执行的过程中进行的4.若有定义语句“char s[ 10]=“1234567\0\0”;”,则Strlen(s)的值是()。

A.7B.8C.9D.105. 冒泡排序在最坏情况下的比较次数是()。

A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/26. 字符(char)型数据在微内存中的存储形式是______。

A.反码B.补码C.EBCDIC 码D.ASCII码7.有以下程序#include <stdio.h>#include <string.h>typedef strlIct{char name[9];char sex;float score[2];}STU;STU f(STU a){ STU b={"Zhao",m,85.0,90.0);int i;strcpy(a name,b.name);sex:b.sex;for(i=0;i<2;i++)a.score[i]=b.score[i];return a;}main{STU c="Qian",f,95.0,92.0},d;d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);}程序的运行结果是( )。

2021年广东省揭阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2021年广东省揭阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2021年广东省揭阳市全国计算机等级考试C语言程序设计真题二卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1. 下列程序的输出结果是( )。

#include<stdio.h>void main() { int a=0,b=1,c=2; if(++a>0‖++b>0) ++c; printf("%d,%d,%d",a,b,c); }A.0,1,2B.1,2,3C.1,1,3D.1,2,22.快速排序在已经有序的情况下效率最差,复杂度为()A.O(nlogn)B.O(n^2logn)C.O(n^1.5)D.O(n^2)3.能正确表示“当x的取值在[1,10]和[100,110]范围内为真,否则为假”的表达式是( )。

A.(x>=1)&&(x<=10)& &(x>=100)&&(x<=110)B.(x>=1)‖(x<=10)‖(x>=100)‖(x<=110)C.(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)D.(x>=1)‖(x<=10)&&(x>=100)‖(x<=110)4. 下列二维数组初始化语句中,不正确的是( )。

A.intb[][2]={1,2,3,4,5,6,7};B.intb[3][5]={0,0,0};C.intb[][4]={{1,2},{3,4,5},{6}};D.intb[3][2]={(1,2),(3,4),(5,6)};5. 若某二叉树的前序遍历访问顺序是abdgcefh,中序遍历访问顺序是dgbaechf,则其后序遍历的结点访问顺序是( )。

A.bdgcefhaB.gdbecfhaC.bdgaechfD.gdbehfca6.下面结构中最适于表示稀疏无向图的是()。

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

C语言编程题目1.025 编写一个C程序,用函数printf(char *s)输出以下3行信息:********************* Very Good! *********************注意:(1)要求精确到每个字符、空格、字母及其大小写。

(2)可多次调用printf(char *s),每次仅一个字符串参数。

**********/void print1(){printf("********************\n");}void print2(){printf("* Very Good! *\n");}void main(){ print1();print2();print1();}1.055 编写一个程序,输入a、b、c三个值,输出其中最大值。

要求不改变下列给定的程序框架内容,填入合适语句,使其成为满足题目要求的正确程序。

**********/int max_a(int a,int b,int c){int max=a;if(max<b)max=b;if(max<c)max=c;return max;}int max_b(int a,int b,int c){int max=b;if(max<a)max=a;if(max<c)max=c;return max;}int max_c(int a,int b,int c){int max=c;if(max<a)max=a;if(max<b)max=b;return max;}void main(){int a,b,c,max;scanf("%d,%d,%d",&a,&b,&c);//max=a>b?a:b;//max=max>c?max:c;//max=a;//if(max<b) max=b;//if(max<c) max=c;printf("max(%d,%d,%d)=%d\n",a,b,c,max_a(a, b,c));printf("max(%d,%d,%d)=%d\n",a,b,c,max_b(a, b,c));printf("max(%d,%d,%d)=%d\n",a,b,c,max_c(a, b,c));}6.022 n是系统给定的外部变量,编写程序求1到n间的自然数之和。

请定义局部变量s存放求和的结果,并用下列语句输出结果printf("1+2+...+n=%d\n",s);**********/void main(){int s;/* 请添加相关说明和语句*/int i;for(i=1;i<=n;i++)s+=i;printf("1+2+...+n=%d\n",s); /* 注意:不要修改此输出语句*/}6.026 n和s是系统给定的外部整型变量(不需要自行定义),编写程序求1到n之间的奇数之和,并将结果存放到s。

**********/void main(){int i;for(i=1;i<=n;i++)if(i%2!=0)s+=i;}6.040 m,n和s是系统定义的外部整型变量(不需要自行定义),编写程序,根据m的值求满足1+2+...+n>=m 的最小n,并将1+2+...+n的结果存放到s。

例如,若m=50,则n=10,s=55。

**********/void main(){int i;for(i=1;s<m;i++){ s+=i;n=i;}}/**********6.051 n和s是系统给定的外部整型变量(不需要自行定义),编写程序求1-1/2+1/3-1/4+...1/n,并将结果存放到s。

**********/void main(){//int sign=1;//float deno=2.0,term;//s=1.0;//while(deno<=n)//{//sign=-sign;//term=sign/deno;//s=s+term;//deno=deno+1;//}//printf("%f\n",s);int i=1,flag=1;s=0.0;while(i<=n){s+=1.0/i++*flag;flag*=-1;}printf("s=%f\n",s);}int min(int x, int y, int z)/* 返回3个整数x,y和z中最小的数*/{int t;t=x<y?x:y;return(t<z?t:z);}/* 8.020 编写函数,求用1元、5元和10元三种纸币支付n元钱共有多少种支付方法?例如,16元可有6种支付方法:方法 1 2 3 4 5 610元0 0 0 0 1 15元0 1 2 3 0 11元16 11 6 1 6 1*/int change(int n){ int i,j,k;int sum=0;printf("\t1元\t5元\t10元\n");for(i=0;i<=n;i++)for(j=0;j<=n/5;j++)for(k=0;k<=n/10;k++)if(n==(i+5*j+10*k)){ sum=sum+1;printf("%-d",sum);printf("\t%-d\t%-d\t%-d\n",i,j,k);}printf("\n");return(sum);}/* 8.030 先编写一个判断素数的函数。

再编写一个函数将一个偶数表示为两个素数之和,并返回其中较小的素数。

注:素数指只能被1和自身整除的正整数。

规定0,1不是素数。

*/int prime(int n)/* 判断素数,如果是素数返回1,不是素数则返回0 */{ int t;if(n==1)return 0;for(t=2;t<=(n/2);t++)if(n%t==0)return 0;return 1;}int f(int i)/* 将偶数i表示为两个素数之和,返回其中较小的素数*/{ int n;for( n=3; n<=i; n++)if(prime(i-n) && prime(n))return n;}/* 8.050 编写函数,将字符串中ASCII码最小的字符放在第一个字符位置,其余字符依次往后移。

*/void func(char *str)/* 将字符串str中ASCII码最小的字符放在第一个*//* 字符位置,其余字符依次往后移。

*/{ int i,j,min;for(min=0,i=1;str[i]!='\0';i++){if(str[min]>str[i])min=i;}j=str[min];for(i=min-1;i>=0;i--)str[i+1]=str[i];str[0]=j;}/* 8.060 编写函数将一个nxn的二维数组按“次对角线”翻转。

例如:翻转前的数组翻转后的数组1 2 3 9 6 34 5 6 ---> 8 5 27 8 9 7 4 1 */void invert(char a[N][N]){ int i, j,b[20][20];for(i=0;i<N;i++)for(j=0;j<N;j++)b[i][j]=a[N-1-j][N-1-i];for(i=0;i<N;i++)for(j=0;j<N;j++)a[i][j]=b[i][j];return;}/* 8.064 编写函数将一个NxN的二维数组“水平”翻转。

例如:翻转前的数组翻转后的数组1 2 3 7 8 94 5 6 ---> 4 5 67 8 9 1 2 3*/void invertH(char a[N][N]){ int i,j;char k;for (i=0;i*2<N;i++)for (j=0;j<N;j++){k=a[i][j];a[i][j]=a[N-i-1][j];a[N-i-1][j]=k;}}/* 8.067 编写函数将一个NxN的二维数组的周边元素“顺时针”轮转1位。

例如:轮转前的数组轮转后的数组1 2 3 4 1 24 5 6 ---> 7 5 37 8 9 8 9 6*/void turningClockwise(char a[N][N]){ int i,j,row=0,column=0;int tmp,t;int flag=1;printf("原来的数组:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}tmp = a[0][0];a[0][0] = a[1][0];column = 1;while(!(row==0&&column==0)){t = a[row][column];a[row][column] = tmp;tmp = t;if(flag==1){if(column!=N-1)column ++;else{flag++;row++;}}else if(flag==2){if(row!=N-1)row++;else{flag++;column--;}}else if(flag==3){if(column!=0)column --;else{flag++;;row--;}}else if(flag==4){if(row!=0)row--;}}printf("\n顺时针旋转后的数组:\n"); for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%5d",a[i][j]);printf("\n");}}/* 8.072 编写函数将一个NxN的二维数组a 的元素按行向右轮转1位。

例如:轮转前的数组轮转后的数组1 2 3 3 1 24 5 6 ---> 6 4 57 8 9 9 7 8*/void turningRight(char a[N][N]){ int row, col=N-3, tmp;printf("原来的数组:\n");for(row=0; row<N; row++){ for(col=0; col<N; col++)printf("%5d",a[row][col]);printf("\n");}for (row=0; row<N; row++){ tmp = a[row][N-1];for (col=N-1; col; col--){a[row][col] = a[row][col-1];}a[row][col] = tmp;}printf("右移一位后的的数组:\n");for(row=0; row<N; row++){ for(col=0; col<N; col++)printf("%5d",a[row][col]);printf("\n");}printf("\n");}void func(char s[], char t[], int n)/* 数组s的前n个元素存放给定的字符序列,数组t的前n个元素存放s的逆序列。

相关文档
最新文档