C语言2019高考模拟题含答案
2019年C语言考试试题带答案
2019年C语言考试试题带答案1、设int a=2,b;则执行b=a&&1;语句后,b的结果是( )A.0B.1C.2D.32.逗号表达式(a=3*5,a*4),a+15的值是( )A.15B.60C.30D.753. 在以下运算符中,优先级最高的运算符是__________A) , B) [ ] C) && D) +=4. 在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数C) 非0的整数D) 非0的数5.C语言中,逻辑“真“等价于( )。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是( )。
A、1/a*b*cB、1/(a*b*c)C、1/a/b/(float) cD、1.0/a/b/c7、以下标识符中,不能作为合法的C用户定义标识符的是:( )A .a3_b3 B.void C._123 D.abc8.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if (__________)A) a<>0 B) !a C) a=0 D) a9、有以下程序main(){int a,b,d=25;a = d/10 & (-1);b = a && (-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是A 6,1B 2,1C 6,0D 2,010.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。
A)scanf("%f",&a); B) scanf("%5.2f",a);C) scanf("%6.2f",&a); D) scanf("%f",a);11.下面程序段___x=3;do{y=x--;if(!y){printf("x");continue;}printf("#");}while(1<=x<=2);A) 将输出## B) 将输出##*C) 是死循环 D) 含有不合法的控制表达式12、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( )main ( ){int x;scanf(″%d″,&x);if(x++>5) printf(″%d″,x);else printf(″%d\n″,x-1);}A.7和5B.6和3C.7和4D.6和413.合法的数组定义是 ( )A、int a[]="string";B、int a[5]={0,1,2,3,4,5};C、vhst s="string";D、char a[]={0,1,2,3,4,5};14、定义如下变量和数组,则输出结果是( )。
电大《C语言程序设计》2019-2020模拟试卷及答案
《C语言程序设计》2019-2020模拟试卷及答案一、单项选择题。
把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是()。
DA.{} B.{;} C.{x=0;} D.{y=10}2.C语言中的选择类语句有两条,它们是()。
AA.if和switch B.if和else C.switch和case D.else和case3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
AA. mainB. MAINC. nameD. function4. 在C语言程序中,多行注释语句使用的开始标记符为()。
BA. //B. /*C. */D. **5. 用于输出表达式值的标准输出函数是()。
CA. scanf()B. print()C. printf()D. output()6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为()。
BA. #B. %C. $D. @7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。
CA. cppB. exeC. objD. C8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。
BA. cppB. exeC. objD. c9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为()。
AA. warningB. errorC. warnD. err10. 在C语言中,表示换行符的转义字符为()。
CA. \fB. \rC. \nD. \m11. 字符串“a+b=12\n”的长度为()。
BA. 6B. 7C. 8D. 912. 要定义a和b为两个整型变量,则使用的定义语句为()。
BA. int a;b;B. int a,b;C. int a b;D. int a:b;13. 下列数值中最大值是()。
CA. 28/8B. 35/13C. 28%8D. 35%514. 下列数值中最小值是()。
DA. 28/8B. 35/3C. 28%8D. 35%315. 已知x的初值为5,则下列各表达式中的最大值为()。
2019年C语言考试试题带答案
2019年C语言考试试题带答案1、设int a=2,b;则执行b=a&&1;语句后,b的结果是( )A.0B.1C.2D.32.逗号表达式(a=3*5,a*4),a+15的值是( )A.15B.60C.30D.753. 在以下运算符中,优先级最高的运算符是__________A) , B) [ ] C) && D) +=4. 在C语言中,逻辑值“真”用__________表示。
A) true B) 大于0的数C) 非0的整数D) 非0的数5.C语言中,逻辑“真“等价于( )。
A、大于零的数B、大于零的整数C、非零的数D、非零的整数6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是( )。
A、1/a*b*cB、1/(a*b*c)C、1/a/b/(float) cD、1.0/a/b/c7、以下标识符中,不能作为合法的C用户定义标识符的是:( )A .a3_b3 B.void C._123 D.abc8.若要表示if( a不等于0 )这一关系式,则能正确表示这一关系的表达式为if (__________)A) a<>0 B) !a C) a=0 D) a9、有以下程序main(){int a,b,d=25;a = d/10 & (-1);b = a && (-1);printf("%d,%d\n",a,b);}程序运行后的输出结果是A 6,1B 2,1C 6,0D 2,010.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用()。
A)scanf("%f",&a); B) scanf("%5.2f",a);C) scanf("%6.2f",&a); D) scanf("%f",a);11.下面程序段___x=3;do{y=x--;if(!y){printf("x");continue;}printf("#");}while(1<=x<=2);A) 将输出## B) 将输出##*C) 是死循环 D) 含有不合法的控制表达式12、两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是( )main ( ){int x;scanf(″%d″,&x);if(x++>5) printf(″%d″,x);else printf(″%d\n″,x-1);}A.7和5B.6和3C.7和4D.6和413.合法的数组定义是 ( )A、int a[]="string";B、int a[5]={0,1,2,3,4,5};C、vhst s="string";D、char a[]={0,1,2,3,4,5};14、定义如下变量和数组,则输出结果是( )。
c语言程序设计考试题及答案2019
c语言程序设计考试题及答案2019一、选择题(每题2分,共20分)1. 在C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言函数的描述,错误的是()。
A. 函数可以没有返回值B. 函数可以没有参数C. 函数可以有多个返回值D. 函数可以有多个入口答案:D3. 在C语言中,下列哪个选项是正确的文件操作语句()。
A. FILE *fp; fp = fopen("example.txt", "r");B. FILE *fp; fp = open("example.txt", "r");C. FILE *fp; fp = read("example.txt", "r");D. FILE *fp; fp = openfile("example.txt", "r");答案:A4. 下列关于指针的描述中,错误的是()。
A. 指针可以存储地址B. 指针可以存储数据C. 指针可以作为函数的参数D. 指针可以作为函数的返回值答案:B5. 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};答案:A6. 下列关于C语言中预处理命令的描述,正确的是()。
A. #include <stdio.h> 用于编译时包含标准输入输出库B. #define PI 3.14159 是一个宏定义C. #pragma 是编译器指令D. 以上都是答案:D7. 在C语言中,下列哪个选项是正确的循环语句()。
c语言题库及详解答案2019年版
c语言题库及详解答案2019年版在编写C语言题库及详解答案2019年版的内容时,我们需要确保题目覆盖了C语言的各个方面,包括基础语法、数据结构、指针、数组、函数、预处理指令、文件操作等。
以下是根据标题编写的题库内容:1. C语言基础1.1 写出C语言的基本数据类型及其取值范围。
1.2 解释C语言中的变量声明和初始化。
1.3 描述C语言中的运算符及其优先级。
2. 控制结构2.1 编写一个程序,使用if-else语句计算并输出两个整数的较大值。
2.2 描述循环语句(for、while、do-while)的用法,并给出一个使用每种循环的示例程序。
2.3 编写一个程序,使用switch语句根据输入的月份输出该月的天数。
3. 数组与字符串3.1 编写一个程序,实现对整型数组的排序。
3.2 解释字符串在C语言中的表示和操作。
3.3 编写一个程序,实现字符串的复制、连接、比较和长度计算。
4. 函数4.1 编写一个函数,实现两个整数的交换。
4.2 描述函数的递归调用,并给出一个使用递归的示例程序。
4.3 编写一个程序,使用函数实现学生成绩的统计和平均分计算。
5. 指针5.1 解释指针的概念及其在C语言中的应用。
5.2 编写一个程序,使用指针实现数组元素的逆序。
5.3 描述指针与数组的关系,并给出一个使用指针操作数组的示例。
6. 结构体与联合体6.1 编写一个程序,使用结构体定义学生信息,并实现学生信息的输入和输出。
6.2 解释联合体的概念,并给出一个使用联合体的示例程序。
7. 预处理指令7.1 描述预处理指令(#define、#include、#ifdef等)的用法。
7.2 编写一个使用宏定义的程序,实现数学表达式的计算。
8. 文件操作8.1 描述文件的打开、读写和关闭操作。
8.2 编写一个程序,实现文件的读取和写入操作。
9. 动态内存分配9.1 解释动态内存分配的概念及其在C语言中的应用。
9.2 编写一个程序,使用动态内存分配实现一个简单的内存管理器。
c语言考试题及答案2019
c语言考试题及答案20191. 选择题- 1.1 以下哪个选项是C语言中的关键字?- A. auto- B. auto- C. int- D. int- 答案:C- 1.2 以下哪个选项不是C语言中的运算符?- A. %- B. &&- C. ||- D. ==- 答案:D2. 填空题- 2.1 在C语言中,用于定义一个整型变量的关键字是____。
- 答案:int- 2.2 在C语言中,用于定义一个浮点型变量的关键字是____。
- 答案:float3. 简答题- 3.1 简述C语言中数组和指针的关系。
- 答案:在C语言中,数组名可以作为指向数组首元素的指针使用。
指针可以用于访问数组元素,也可以用于遍历数组。
- 3.2 解释C语言中函数原型声明的作用。
- 答案:函数原型声明用于告知编译器函数的返回类型、函数名以及参数的类型和数量,但不包含函数体。
它允许在函数定义之前调用函数。
4. 编程题- 4.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("Sum is: %d\n", sum);return 0;}```- 4.2 编写一个C语言程序,实现将一个字符串反转。
- 答案:```c#include <stdio.h>#include <string.h>void reverseString(char* str) {int i, j;char temp;for (i = 0, j = strlen(str) - 1; i < j; i++, j--) {temp = str[i];str[i] = str[j];str[j] = temp;}}int main() {char str[100];printf("Enter a string: ");scanf("%s", str);reverseString(str);printf("Reversed string: %s\n", str); return 0;}```。
2019年C语言考试题(附答案)
2019年C语言考试题(附答案)2019年C语言考试题(附答案)1. 在 C 程序中,用___________表示逻辑值“真”。
A)1 B)非 0 的数 C)非 1 的数 D) 大于 0 的数2.设int c=5和int a; a=2+(c+=c,c+8,++c), 则a=__________A) 15 B) 14 C) 13 D) 163.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。
B)必须为下划线。
C)必须为字母 D)可以是字母、数字和下划线中的任一种字符。
4、组成C语言程序的基本单位是()。
A) 过程 B) 子程序C) 函数 D) 主程序和子程序5.下列哪个标识符是C语言合法的标识符()。
A) a*b B) -xyzC) ba2 D) 5i6. 若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:A) a!=0 B) a!=’\0’ C) a D) !a7.在C语言提供的合法的关键字是()A、switchB、cherC、CaseD、sturct8. 若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________A) read(a,b,c); B) scanf(“%d%d%d”,a,b,c);C) scanf(“%D%D%D”,&a,%b,%c); D) scanf(“%d%d%d”,&a,&b,&c);9.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为__________。
main(){char x,y;x=’0’;y=’9’;pirntf(“%d,%d\n”,x,y);}A)因输出格式不合法,输出错误信息 B)48,57C)0,9 D)48,5810.以下程序的输出结果是__________void main(){int a = 2,b = 5;printf(“a=%%%d,b=%%%d”,a,b);}A) a=%2,b=%5 B) a=2,b=5C) a=%%d,b=%%d D) a=%d,b=%d11. 以下程序段的输出结果是_____int x=3;do{ printf("%3d",x-=2;}while (!(--x));A) 1 B) 3 0C) 1 -2 D) 死循环12.有以下程序:#include “stdio.h”int a=3;main( ){int s=0;{int a=5;s+=a++;}s+=a++;printf("%d\n",s); }程序运行后的输出结果是( )。
全国计算机等级考试2019年二级C语言程序设计模拟试题3_真含答案与解析)-交互50
全国计算机等级考试2019年二级C语言程序设计模拟试题3(总分100, 做题时间120分钟)选择题(每题 1 分,共 40 分)1.下列叙述中正确的是()。
SSS_SINGLE_SELA栈与队列都只能顺序存储B循环队列是队列的顺序存储结构C循环链表是循环队列的链式存储结构D栈是顺序存储结构而队列是链式存储结构分值: 1答案:B栈是所有的插入与删除都限定在表的同一端进行的线性表;队列是指允许在一端进行插入,而在另一端进行删除的线性表,二者均即可以顺序存储也可以链式存储。
为了充分地利用数组的存储空间,把数组的前端和后端连接起来,形成一个环形的表,称为循环队列,因此循环队列是队列的一种顺序存储结构。
2.算法空间复杂度的度量方法是()。
SSS_SINGLE_SELA算法程序的长度B算法所处理的数据量C执行算法所需要的工作单元D执行算法所需要的存储空间分值: 1答案:D算法的空间复杂度是指执行这个算法所需要的存储空间,包括:①输入数据所占的存储空间;②程序本身所占的存储空间;③算法执行过程中所需要的额外空间。
3.设有栈 S 和队列 Q,初始状态均为空。
首先依次将 A, B, C, D, E, F 入栈,然后从栈中退出三个元素依次入队,再将 X, Y, Z 入栈后,将栈中所有元素退出并依次入队,最后将队列中所有元素退出,则退队元素的顺序为()。
SSS_SINGLE_SELADEFXYZABCBFEDZYXCBACFEDXYZCBADDEFZYXABC分值: 1答案:B栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
队列是指允许在一端进行插入,而在另一端进行删除的线性表。
将 A, B,C, D, E, F 入栈后,栈中元素为 ABCDEF,退出三个元素入队,队列元素为 FED,将 X, Y, Z 入栈后栈中元素为 ABCXYZ,全部入队后,队列元素为 FEDZYXCBA。
4.某二叉树的前序序列为 ABCDEFG,中序序列为 DCBAEFG,则该二叉树的后序序列为()。
全国计算机等级考试2019年二级C语言程序设计模拟试题4_真含答案与解析)-交互96
全国计算机等级考试2019年二级C语言程序设计模拟试题4(总分100, 做题时间120分钟)选择题(每题 1 分,共 40 分)1.设栈的顺序存储空间为 S(0: 49),栈底指针 bottom=49,栈顶指针top=30(指向栈顶元素)。
则栈中的元素个数为()。
SSS_SINGLE_SELA30B29C20D19分值: 1答案:C栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。
在内存中,栈的增大方向是递减,元素依次存储在单元 30: 49 中,个数为: 49-30+1=20 个。
2.设数据元素的集合 D={1, 2, 3, 4, 5} ,则满足下列关系 R 的数据结构中为线性结构的是()。
SSS_SINGLE_SELAR={(1, 2),(3, 4),(5, 1) }BR={(1, 3),(4, 1),(3, 2),(5, 4) }CR={(1, 2),(2, 3),(4, 5) }DR={(1, 3),(2, 4),(3, 5) }分值: 1答案:B一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构。
不同时满足以上两个条件的数据结构就称为非线性结构。
A 项中有两个根节点 3 和 5,错误; B 项根节点为 5,排列顺序为 54132,正确; C 项有两个根节点 1 和4,错误; D 项有两个根节点 1 和 2,错误。
3.下列叙述中错误的是()。
SSS_SINGLE_SELA在带链队列中,队头指针和队尾指针都是在动态变化的B在带链栈中,栈顶指针和栈底指针都是在动态变化的C在带链栈中,栈顶指针是在动态变化的,但栈底指针是不变的D在带链队列中,队头指针和队尾指针可以指向同一个位置分值: 1答案:B带链的队列就是用一个单链表来表示队列,队列中的每一个元素对应链表中的一个节点,在入队和退队过程中,队头指针和队尾指针都是在动态变化的,A 项叙述正确,循环队列中当队列满或者空时,队头指针和队尾指针指向同一个位置, D 项叙述正确。
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)
2019年全国计算机等级考试二级C语言程序设计模拟试题及答案(一)一、选择题(1)在32位计算机中,一个字长所占的字节数为______。
A) 1 B) 2 C) 4 D) 8(2)与十进制511等值的十六进制数为______。
A) 1FF B) 2FF C) 1FE D) 2FE(3)能将高级语言编写的源程序转换成目标程序的是______。
A) 编辑程序 B) 编译程序 C) 解释程序 D) 链接程序(4)在计算机系统中,存储一个汉字的国标码所需要的字节数为______。
A) 1 B) 2 C) 3 D) 4(5)下列带有通配符的文件名,能表示文件ABC.TXT的是______。
A) *BC.? B) A?.* C) ?BC.* D) ?.?(6)在多媒体计算机系统中,不能用以存储多媒体信息的是______。
A) 光缆 B) 软盘 C) 硬盘 D) 光盘(7)DOS命令“COPY/?”的功能是______。
A) 将当前盘当前目录中的所有文件复制到当前盘的根目录下B) 将当前盘当前目录中所有以单个字符命名的文件复制到当前盘的根目录下C) 以提示方式复制文件D) 显示COPY命令的帮助信息(8)在Windows环境下,若要将当前活动窗口存入剪贴板,则可以按______。
A) Ctrl+PrintScreen键B) Shift+PrintScreen键C) PrintScreen键D) Alt+PrintScreen键(9)在Windows环境下,单击当前应用程序窗口的“关闭”按钮,其功能是______。
A) 将当前应用程序转为后台运行B) 退出Windows后再关机C) 退出Windows后重新启动计算机D) 终止当前应用程序的运行(10)在Windows环境下,粘贴快捷键是______。
A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V(11)以下叙述中正确的是______。
C语言模拟题目及答案
C语言模拟题目及答案一.选择题:1.设float x,y;则以下不合法的赋值语句是______。
x*=y+8; x=y=0; ++x; y=(x%2)/10;2. 设int k=017,g=111; 执行语句printf("%d,%x",k,g); 的输出是_____。
15,6f f,6f f,111 15,111 3. 对语句for(i=0; ; i++);可理解为_____。
for(i=0;0;i++); for(i=0;!0;i++); for(i=0;3>4;i++); for(i=0;!5;i++);4. 下面对数组的初始化,错误的是_____。
char s[5]="abc"; char s[5]={'a','b','c'}; char s[5]=" "; char s[5];s="abc";5. 设有程序段:int k=10;while(k=0)k=k-1;则下面描述中正确的是______。
是无限循环 while循环执行10次循环体语句一次也不执行循环体语句只执行一次6. 如果x为int型且为5,则执行if(x--<5) printf("%d",x);else printf("%d",x++);后输出结果是______。
3 4 5 6 7. 有如下函数调用语句func(rec1, rec2+rec3, (rec4, rec5));,该函数调用语句中,含有的实参个数是____。
3 4 5 有语法错8. 在C语言的if语句中,可用作条件判断的表达式为_____。
算术表达式逻辑表达式关系表达式任意表达式9. 若给定条件表达式(n)?(c++):(c--),则与表达式中(n)等价的表达式是_____。
n==0 n==1 n!=0 n!=1 10. 一个函数返回值的类型取决于_____。
2019c语言考试题及答案
2019c语言考试题及答案一、选择题(每题2分,共20分)1. C语言中,以下哪个关键字用于定义一个函数?A. classB. functionC. voidD. int答案:D2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,用于定义一个结构体的关键字是:A. structB. unionC. typedefD. enum答案:A4. 下列哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. C语言中,用于定义一个字符常量的是:A. 'a'B. "a"C. aD. 123答案:A6. 下列哪个选项是C语言中的循环控制语句?A. ifB. forC. switchD. case答案:B7. 在C语言中,用于定义一个宏的预处理命令是:A. #includeB. #defineC. #importD. #pragma答案:B8. 下列哪个选项是C语言中正确的文件包含语句?A. include <stdio.h>B. include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:C9. 在C语言中,用于声明一个指针的关键字是:A. ptrB. refC. *D. &答案:C10. 下列哪个选项是C语言中正确的数组声明?A. int arr[5] = {0, 1, 2, 3, 4};B. int arr[] = {0, 1, 2, 3, 4};C. int arr[5] = {0, 1, 2};D. int arr = {0, 1, 2, 3, 4};答案:A二、填空题(每题2分,共20分)1. 在C语言中,______运算符用于求两个整数的最大值。
2019年c语言考试题及答案
2019年c语言考试题及答案一、选择题(每题4分,共40分)1. 下列哪个选项是C语言中的合法标识符?A. 2variableB. intC. _variableD. variable2答案:C2. C语言中,下列哪个关键字用于定义函数?A. intB. voidC. structD. return答案:B3. 在C语言中,以下哪个选项不是数据类型?A. intB. charC. floatD. string答案:D4. 下列哪个选项是正确的C语言数组声明?A. int array[5] = {1, 2, 3};B. int array[] = {1, 2, 3};C. int array[3] = {1, 2, 3, 4, 5};D. int array[5] = {1, 2};答案:A5. C语言中,以下哪个选项不是控制语句?A. ifB. forC. switchD. continue答案:C6. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a, int b) {}D. int function(int, int) {}答案:A7. 在C语言中,下列哪个选项是正确的注释?A. // This is a commentB. /* This is a comment */C. //* This is a commentD. /* This is a comment */答案:A8. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. =D. ==答案:A9. 在C语言中,下列哪个选项是正确的文件包含指令?A. #include "stdio.h"B. #include <stdio.h>C. #include "stdio.h>D. #include <stdio.h>答案:B10. 下列哪个选项是C语言中的位运算符?A. &&B. ||C. &D. ||答案:C二、填空题(每题4分,共20分)1. C语言中,用于定义一个整型变量的关键字是________。
c语言试题及答案解析2019
c语言试题及答案解析20191. 单项选择题(1) 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A(2) 以下哪个运算符用于比较两个值是否不相等?A. ==B. !=C. <=D. >=答案:B2. 多项选择题(1) 在C语言中,以下哪些是合法的整型常量?A. 100B. 0x1AC. 2.5D. 0101答案:ABD(2) 关于C语言函数的描述,以下哪些是正确的?A. 函数可以没有返回值B. 函数可以返回多个值C. 函数的返回值类型必须在函数定义时指定D. 函数可以嵌套定义答案:AC3. 填空题(1) 在C语言中,用于定义一个空指针的是 ________ 。
答案:NULL(2) 在C语言中,用于声明一个字符数组的语句是 ________ 。
答案:char array_name[size];4. 简答题(1) 请简述C语言中指针的概念。
答案:指针是一个变量,其存储的是另一个变量的内存地址。
通过指针,程序可以间接访问和修改变量的值。
(2) 请解释C语言中数组和指针的关系。
答案:在C语言中,数组名可以被看作指向数组第一个元素的指针。
因此,数组名和指针可以相互转换使用。
5. 编程题(1) 编写一个C语言函数,实现两个整数的交换。
答案:```cvoid swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}```(2) 编写一个C语言程序,计算并输出100以内的奇数和。
答案:```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("Sum of odd numbers from 1 to 100 is: %d\n", sum);return 0;}```。
2019年c语言题库及详解答案
2019年c语言题库及详解答案C语言是一种广泛使用的计算机编程语言,以其高效、灵活和跨平台的特性而受到程序员的青睐。
2019年的C语言题库及详解答案涵盖了从基础到高级的多个知识点,以下是一些精选题目及其详解答案。
1. 基础语法题:在C语言中,以下哪个是正确的变量声明语句?A. int a, b;B. int a = 10, b = 20;C. Both A and B;D. None of the above.答案: C. Both A and B;详解:在C语言中,变量可以在声明时不初始化,也可以初始化。
选项A和B都是正确的变量声明语句。
2. 控制结构题:考虑以下C语言代码段:```cint x = 10;if (x > 5) {printf("x is greater than 5");}```这段代码的输出是什么?答案: x is greater than 5详解:这段代码首先将变量x初始化为10,然后检查x是否大于5。
由于条件为真,所以执行if语句块内的代码,输出"x is greater than 5"。
3. 数组和循环题:编写一个C语言程序,打印一个整数数组的所有元素。
答案:```c#include <stdio.h>int main() {int numbers[] = {10, 20, 30, 40, 50};int size = sizeof(numbers) / sizeof(numbers[0]);for (int i = 0; i < size; i++) {printf("%d ", numbers[i]);}return 0;}```详解:这个程序首先定义了一个整数数组`numbers`,并计算出数组的大小。
然后使用for循环遍历数组,打印每个元素。
4. 函数题:编写一个C语言函数,计算两个整数的和。
C语言模拟试题及答案
C语言模拟试题及答案为天地立心,为生民立命,为往圣继绝学,为万世开太平。
以下是店铺为大家搜索整理的C语言模拟试题及答案,希望能给大家带来帮助!一、选择题(每小题1分,共40分)1、以下函数实现按每行8个输出W所指数组中的数据:在横线处应填人的语句是( )。
A.if(i/8==0)printf(”\n”);B.if(i/8==O)continue;C.if(i%8==0)prinff(’’\n”);D.if(i%8==0)continue;2、有以下程序:在VC 6.0平台上编译运行,程序运行后的输出结果是( )。
A.10,6B.4,4C.2,4D.4。
83、有以下函数:以下关于aaa函数功能叙述正确的是( )。
A.将串s复制到串tB.比较两个串的大小C.求字符串s的长度D.求字符串s所占字节数4、在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。
5、有以下程序:程序运行后的输出结果是( )。
A.7B.10C.8D.96、有以下程序:程序运行后的输出结果是( )。
A.1,1,2,0B.0,0,0,3C.编译有错D.0,1,2,07、已知字符‘A’的ASCII代码值是65,字符变量cl的值是‘A’,c2的值是‘D’。
则执行语句printf(”%d,%d”,cl,c2—2);的输出结果是( )。
A.65,68B.A,68C.A,BD.65,668、下列叙述中正确的是( )。
A.线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B.线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C.线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D.线性表的链式存储结构与顺序存储结构在存储空间的需求上没有可比性9、以下选项中正确的定义语句是( )。
A.double,a,b;B.double a=b=7;C.double a;b;D.double a=7,b=7;10、以下关于C语言数据类型使用的叙述中错误的是( )。
2019模拟c语言高职附答案8页word文档
2019 模拟c语言高职(附答案)注意:本套模拟题主要模拟命题形式与考核范围。
真实竞赛题的数量、难度可能与此套模拟题有差异。
说明:本试卷包含两种题型:“代码填空”与“程序设计”。
填空题要求参赛选手在弄清给定代码工作原理的基础上填写缺失的部分,使得程序逻辑正确、完整。
所填写的代码不多于一条语句(即不能出现分号)。
编程题要求选手设计的程序对于给定的输入能给出正确的输出结果。
注意:在评卷时使用的输入数据与试卷中给出的实例数据可能是不同的。
选手的程序必须是通用的,不能只对试卷中给定的数据有效。
1.代码填空(满2分)形如:“abccba”,“abcba”的串称为回文串,下列代码判断一个串是否为回文串。
请补充空白的部分。
char buf[] = "abcde11edcba";int x = 1;for(int i=0; i<strlen(buf)/2; i++)if(___________________)x = 0;break;printf("%s\n", x ? "是":"否");答案:buf[i]!=buf[strlen(buf)-1-i]附测试程序:#include<stdio.h>#include<string.h>main(){ int i;char buf[] = "abc2de11edcba";int x = 1;for(i=0; i<strlen(buf)/2; i++)if(buf[i]!=buf[strlen(buf)-1-i])x = 0;break;printf("%s\n", x ? "是":"否");2.代码填空(满分3分)下列代码把一个二进制的串转换为整数。
请填写缺少的语句;char* p = "1010110001100";int n = 0;for(int i=0;i<strlen(p); i++)n = __________________;printf("%d\n", n);答案:n*2+(*(p+i)-'0')附测试程序:#include<string.h>main(){ int i;char *p="1001";int n=0;for(i=0;i<strlen(p); i++)n=n*2+(*(p+i)-'0');printf("%d\n", n);3.代码填空(满分3分)假设a,b,c是3个互不相等的整数。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1、不能把字符串“hello!”赋给数组b的语句是 ____________________A.char b[10]={'H','e','l','l','o','!'};B.char b[10];b="Hello!";C.char b[10];strcpy(b,"Hello!");D.char b[10]="Hello!";2、在宏定义“#define PI 3.14159”中,用宏名PI代替一个 ____________________A.单精度数B. 双精度数C.常量D.字符串3、下列说法错误的是 ____________________A.C语言中对二进制文件的访问速度比文本文件块B.C语言中随机文件以二进制代码形式存储数据C.语句“FILE fp;”定义了一个名为“fp”的文件指针D.C语言中的文本文件以ASCII码形式存储数据二、基本操作题30、下列给定程序中,函数fun的功能是:将N*N矩阵中元素的值按列向右移动一个位置,右边被移出矩阵的元素绕回左边第一列。
例如,N=3,有下列矩阵。
1 2 3 3 1 24 5 6 计算结果为 6 4 57 8 9 9 7 8请将正确内容填入答题卡相应位置,使程序得出正确答案。
#include "stdio.h"#define N 4void fun(int(*t)[N]){int i,j,x;for(i=0;i<N;i++) //for(i=0;i<____ 1 ____;i++){x=t[i][N-1];//x=____ 2 ____;for(j=N-1;j>=1;j--) //此处应为 1t[i][j]=t[i][j-1];t[i][0]=x;//____ 3 ____=x;}}main(){int i,j,t[][N]={21,12,13,24, 25,16,47,38, 29,11,32,54, 42,21,33,10};printf("The original array:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",t[i][j]);printf("\n");}fun(t);//____ 4 ____;printf("\nThe result is:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%4d",t[i][j]);printf("\n");}}答案:for(i=0;i<N;i++) //for(i=0;i<____ 1 ____;i++) x=t[i][N-1];//x=____ 2 ____;t[i][0]=x;//____ 3 ____=x;fun(t);//____ 4 ____;四、程序分析题32、阅读程序,写出运行结果(1)下列程序的运行结果是 ____________________ #include "stdio.h"main(){int a,b,c;a=b=c=0;c=(a-=a-5),(a=b,b+5);printf("%d,%d,%d\n",a,b,c);}答案:0,0,5(2)下列程序的运行结果是 ____________________ #include "stdio.h"main(){int x[5]={2,4,6,8,10},*p,**pp;p=x;pp=&p;printf("%d",*(p++));printf("%3d\n",**pp);}答案:2 4(3)下列程序的运行结果是 ____________________ #include "stdio.h"main(){int i=2,j=3,k=4;if(i++==2 && (++j==3 || k++==3))k++;printf("%d %d %d",i,j,k);}答案:3 4 5(4)下列程序的运行结果是 ____________________#include "stdio.h"int fun(char *a,char *b){while((*a!='\0') && (*b!='\0') && (*a==*b)){a++;b++;}return (*a-*b);}main(){char a[10]="abc";char b[10]="ab";printf("%d",fun(a,b));}答案:99(5)下列程序的运行结果是 ____________________#include "stdio.h"void WriteStr(char *fn,char *str){FILE *fp;fp=fopen(fn,"w");fputs(str,fp);fclose(fp);}main(){WriteStr("t1.dat","start");WriteStr("t1.dat","end");}答案:end33、程序填空。
按照题目要求,将正确内容填入答题卡相应位置,使程序完整。
(1)已知字母A的ASCII码为65,以下是一个猜字母游戏,计算机随机产生A至Z之间的一个字母,用户有10次猜字母的机会。
第一次猜中得10分,第二次猜中的9分……。
第10次猜中得1分。
10次都猜不中得0分,如果猜错,计算机提示所猜字母是超前还是落后。
最后显示总得分。
#include "stdio.h"#include "stdlib.h"#include "time.h"int main(){int i,score=0;char ch,ch1,ch2;srand((unsigned)time(0));____ 1 ____;for(i=1;i<=10;i++){printf("\n请输入所猜的大写字母");scanf("%c%c",&ch1,&ch2);if(ch1>ch) printf("落后了");else if(ch1<ch) printf("超前了");else{printf("你猜中了");score=score+11-i;____ 2 ____;}}printf("\n你的得分为:%d %c",score,ch);return 0;}答案:ch=rand()%26+65;//____ 1 ____;break;//____ 2 ____;(2)结果为 13431 请根据结果7完成程序。
#include "stdio.h"struct NODE{int k; struct NODE *link;};int main(){struct NODE m[5],*p=m,*q=m+4;int i=0;while(p!=q){____ 3 ____;p++;q->k=i++;____ 4 ____;}____ 5 ____;for(i=0;i<5;i++) printf("%d ",m[i].k);return 0;}答案:p->k=++i;//____ 3 ____;q--;//____ 4 ____;p->k=i;//____ 5 ____;34、阅读程序,修改程序中的错误,不得增减行,也不得更改程序结构。
(1)输入10个正整数,计算其中的素数之和并输出结果(不考虑溢出情况),两个错误。
两个错误。
L01 #include "stdio.h"L02 int sum(int *b,int m)L03 { int s=0,is_prime(long);L04 while(m--)L05 if(is_prime(*b++)) s+=*b;L06 return s;L07 }L08 is_prime(long m)L09 { int k;L10 if(m<=1) return 0;L11 if(m==2 || m==3) return 1;L12 for(k=2;k*k<=m;k++)L13 if(m%k==0) return 0;L14 else return 1;L15 }L16 int main()L17 { int x[10],i;L18 for(i=0;i<10;i++) scanf("%d",x+i);L19 printf("sum=%d\n",sum(x,10));L20 }答案:L05 if(is_prime(*b++)) s+=*(b-1);//if(is_prime(*b++)) s+=*b;L08 int is_prime(long m)//is_prime(long m) 此处tc认为没有错L14 return 1; //else return 1;(2)求整数x的y次方的低3位值。
例如,5的6次方为12625,此值的低3位为625. 三个错误。
L01 #include "stdio.h"L02 long fun(int x,int y,long *p)L03 { int i;long t=1;L04 for(i=1;i<y;i++) t=t*x;L05 *p=t;L06 t=t/1000;return t; }L07 int main()L08 { long t,r; int x,y;L09 printf("\ninput x and y:");L10 scanf("%d%d",&x,&y);L11 t=fun(x,y,r);L12 printf("\n\nx=%d,y=%d,r=%ld,last=%ld\n\n",x,y,r,t); L13 }答案:L04 for(i=1;i<=y;i++) t=t*x;//for(i=1;i<y;i++) t=t*x; L06 t=t%1000; return t; } //t=t/1000;return t; }L11 t=fun(x,y,&r);//t=fun(x,y,r);五、程序设计题35、下列程序的功能是:建立具有n个节点的链表#include "stdio.h"#include "stdlib.h"typedef struct node{int data;____ 1 ____;}NODE;int main(){NODE *head,*p,*q;int i,n;printf("input n:");scanf("%d",&n);if(n<=0) head=NULL;else{p=____ 2 ____ =malloc(sizeof(NODE));scanf("%d",&q->data);for(i=1;i<n;i++){q=(NODE *)malloc(sizeof(NODE));____ 3 ____;scanf("%d",&q->data);p=q;}____ 4 ____;}printf("onput:\n");p=head;while(____ 5 ____ ){printf("%d",p->data);p=p->next;}return 0;}答案:struct node *next;//____ 1 ____;p=q=head=(NODE *)malloc(sizeof(NODE));//p=____ 2 ____ =malloc(sizeof(NODE)); p->next=q;//____ 3 ____;p->next=NULL;//____ 4 ____;while(p)//while(____ 5 ____ )。