C语言网络教育试卷试题和答案2

合集下载

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案### C语言二级考试题及答案#### 单项选择题1. 题目:以下哪个选项是C语言中合法的变量名?- A. 2variable- B. variable-name- C. $variable- D. variable_name答案:B2. 题目:C语言中,以下哪个选项是正确的字符串字面量? - A. "Hello, World!"- B. 'Hello, World!'- C. "Hello World"- D. 'Hello World'答案:A3. 题目:在C语言中,以下哪个选项是正确的整型常量? - A. 0x1A- B. 1.2E3- C. 0123- D. 0b1010答案:A#### 填空题1. 题目:在C语言中,以下代码段的输出结果是____。

```cint a = 5;printf("%d", a++);```答案:52. 题目:以下代码段中,变量`b`的值是____。

```cint a = 10, b;b = a % 3;```答案:13. 题目:以下代码段中,变量`c`的值是____。

```cfloat a = 2.5, b = 4.5;int c = a + b;```答案:7#### 编程题1. 题目:编写一个C语言程序,计算并输出以下数列的前10项之和:1, 1/2, 1/3, 1/4, ...```c#include <stdio.h>int main() {double sum = 0.0;for (int i = 1; i <= 10; i++) {sum += 1.0 / i;}printf("Sum of the first 10 terms: %f\n", sum); return 0;}```2. 题目:编写一个C语言程序,实现两个整数的交换。

大学《C语言》试题及参考答案

大学《C语言》试题及参考答案

(2)编写程序输出1-1000之间能够被5整除的所有整数,并求出这些整数的和输出。

(3) 从键盘输入10个正的整数,找出其中的素数输出。

答: #include#includeint f(int x){int i;for(i=2;i<=sqrt(x);i++)if(x%i==0) return 0;return 1}void main(){int a[10],i,n=0,j,t;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)if( f(a[i]) n++;else a[i]=0;for(i=0;i<9;i++)for(j=0;j<9-i;j++)if( a[j]<A[J+1] ) {t=a[j];a[j]=a[j+1];a[j+1]=t;}printf("共有%d个素数,它们是:",n);(4)编写程序打印下列图案答:#include "stdio.h"void main() {for (int i = 0;i <= 4;i++) {for (int j = 0;j <= i;j++) { printf("*");}printf("\n");}}(5)写一个函数计算一个字符串的长度,再写一个测试函数测试其功能。

不允许使用strlen函数答:#include "stdio.h"void convert(char *str){for (int i = 0; str[i] != '\0'; i++) {if (str[i] >= 'A' && str[i] <= 'Z') {str[i] = str[i] - 'A' + 'a';}}}int main(){char str[20] = "aZcdABxDEF123";convert(str);printf("%s\n", str);return 0;}(6)从键盘上任意输入50个整数存放在a数组中,找出a数组中所有偶数存放在数组b 中,并对b数组的值按降序排列。

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案

全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。

什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。

全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。

A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。

A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。

A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。

A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。

A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。

A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是( )。

A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。

以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案

计算机二级c语言试题题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,用于定义变量的关键字是()。

A. defineB. varC. intD. let答案:C2. 下列关于C语言函数的描述,不正确的是()。

A. 函数可以没有参数B. 函数可以返回值C. 函数必须有返回值D. 函数可以嵌套定义答案:C3. 以下哪个选项不是C语言中的运算符()。

A. %B. &&C. ++D. :答案:D4. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A5. C语言中,用于表示逻辑与的运算符是()。

A. &&B. ||C. !D. =答案:A二、填空题(每题2分,共20分)1. 在C语言中,定义一个整型数组的语句是:int array[10]; 其中array[0]的值默认为____。

答案:02. 如果一个函数的返回类型是int,那么在函数体中必须包含一条____语句。

答案:return3. 在C语言中,用于计算字符串长度的函数是____。

答案:strlen4. C语言中,用于将字符数组转换为字符串的字符是____。

答案:'\0'5. 当使用指针变量时,必须先对其进行____。

答案:初始化三、编程题(每题10分,共20分)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++) {if (i % 2 == 0) {sum += i;}}printf("Sum of even numbers from 1 to 100 is: %d\n", sum); return 0;}```四、简答题(每题10分,共40分)1. 简述C语言中指针和数组的关系。

C语言 网络教育试卷和答案

C语言 网络教育试卷和答案

5.对 break 语句的正确描述。( A )
A.break 语句在 while 语句中,立即终止执行 while 语句。
B.break 语句不能用于循环语句之外的语句。 C.break 语句与 continue 语句功能相同。
D.break 语句可以带参数,也可以不带。
6.在 C 语言中,下面那一个不是正确的概念( A ) A. 所有循环语句都要求至少要执行一次循环体。
A. *(ptr--)
B. x[6]
C. *(--ptr)
D. *(ptr++)
12.执行以下语句后的结果为( A )
enum weekday {sun,mon=3,tue,wed,thu};
enum weekday workday; workday = wed;
printf("%d\n",workday);
} 答案: c1=c,c2=abc
4. main( ) { printf("%d %x %o\n",125,125,125); printf("%d %x %o\n",045,045,045); printf("%d %x %o\n",0x32,0x32,0x32); }
答: 125 7d 175 37 25 45 50 32 62
电子科技大学网络教育考卷(A 卷)
(20 年至 20 学年度第 学期)
考试时间 年 月 日(120 分钟) 课程
C语言
教师签名_____
大题号 一 二 三 四 五 六 七 八 九 十 合 计
得分
一、单项选择题(每题 2 分,共 30 分) 1.以下描述正确的是( C )

长安大学网络教育《C语言程序设计》模拟试卷及参考答案

长安大学网络教育《C语言程序设计》模拟试卷及参考答案

一、填空题(本题每空1分,共计15分)1.设int a = 2,b = 3;float x = 3.5,y =2.5;表达式(float)(a+b)/2+(int)x%(int)y的值为3.5 。

2.结构化程序设计的三种基本结构是顺序结构,选择结构,循环结构。

3.设a = 3 , b = 2 , c = 1 , 则!(a+b)+c-6&&c+b%2的值为 1 。

4.int a = 6 ; 若a *= 2+3,则a = 30 ;又若a /= a+a,则a = 0 ;又若a+=a-= a*=a,则a = 0 ;5.int a = 2 ,b ,c ; b = ++a ; c = (a++)+(b++) ; 则c = 6 ,a = 4 ,b = 46、判断char型变量ch是否为大写字母的正确表达式是:ch>=’A’&&ch<=’z’7、若a=1;b= 2;c=2; if(a<b<c) {t= a;a=b; b=t; c--;}则a= 2 ,b= 1 ,c= 1 ,二、选择题(本题有15个小题,每小题2分,共计30分,每题只有一个正确答案)1、C程序的执行是从(A)A)本程序的main函数开始,到main函数结束B)本程序文件的第-个函数开始,到本程序文件的最后-个函数结束C)本程序的main函数开始,到本程序文件的最后-个函数结束D)本程序文件的第-个函数开始,到本程序main函数结束2、若有说明:char *language[]={"FORTRAN","BASIC","PASCAL", "JA V A","C"};则以下不正确的叙述是(D)。

A)language+2表示字符串"PASCAL"的首地址B)*language[2」的值是字母PC)language是一个字符型指针数组,它包含5个元素,D)每个元素都是一个指向字符串变量的指针3、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值为(B):A)7 B)8 C)6 D)24、下面四个选项中,均是不合法的用户标识符的选项是(C)A) A P_0 doB)float a0 _AC)b-a goto intD)-123 temp INT5、sizeof(float)是(B):A)一个双精度型表达式B) 一个整型表达式C) 一种函数调用D) 一个不合法的表达式6、设有说明:char w; int x; f1oat y; double z;则表达式w* x+z-y值的数据类型为(D):A)float B)char C)int D)double7、阅读下程序,若运行结果为如下形式,输入输出语句的正确内容是(B): main(){int x; float y; printf("enter x,y:")输入语句输出语句}输入形式enter x,y: 2 3.4输出形式x+y=5.40A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);D)scanf("%d%3.1f",&x,&y );printf("\nx+y=%4.2f",x+y);8、根据下面的走义,能打印出字母M的语句是(D)struct person{char name[9];int age;}struct person class[10]={"John",17,"Paul",19,"Mary",18,"adam",16 };A)printf("%c\n",class[3].name);B)printf("%c\n",class[3].name[1]);C)printf("%c\n",class[2].name[1]);D)printf("%c\n",class[2].name[0]);9、若有以下定义和语句:struct student{int age;int num;};struct student stu[3]={{1001,20},{1002,19},{1003,21}};main(){struct student *p;p=stu;...}则以下不正确的引用是(D)。

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解

计算机二级c语言考试真题及答案详解一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.3C. 0x12LD. 0x12.3L答案:A2. 若有定义int a=1, b=2;,则以下哪个表达式的值不为真?A. a<bB. a<=bC. a>bD. a!=b答案:C3. 在C语言中,以下哪个选项是合法的字符串字面量?A. "Hello, World"B. 'Hello, World'C. "Hello, World\n"D. "Hello, World\0"答案:A4. 下列哪个函数不能正确计算数组元素的总和?A. sum = 0; for(i=0; i<n; i++) sum += array[i];B. sum = 0; for(i=0; i<n; i++) sum = sum + array[i];C. sum = 0; for(i=0; i<n; i++) sum = array[i];D. sum = 0; for(i=0; i<n; i++) sum += array[i];答案:C5. 在C语言中,以下哪个选项是合法的函数声明?A. int add(int, int);B. int add();C. int add(int a, int b);D. int add(a, b);答案:C6. 若有定义int a[10];,则以下哪个表达式是合法的数组元素访问?A. a[10]B. a[-1]C. a[3.5]D. a[3]答案:D7. 在C语言中,以下哪个选项是合法的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr[];答案:A8. 若有定义int x=10;,则以下哪个表达式是合法的赋值语句?A. x = x + 1;B. x = 1 + x;C. x = x++;D. x = ++x;答案:A9. 在C语言中,以下哪个选项是合法的循环语句?A. for(;;)B. while(1)C. do {} while(0)D. for(;;) {}答案:D10. 若有定义int a[5] = {1, 2, 3, 4, 5};,则以下哪个表达式是合法的数组元素访问?A. a[5]B. a[-1]C. a[2.5]D. a[2]答案:D11. 在C语言中,以下哪个选项是合法的switch语句?A. switch(x) { case 1: break; }B. switch(x) { default: break; }C. switch(x) { case 1: case 2: break; }D. switch(x) { case 1: default: break; }答案:C12. 若有定义int x=5;,则以下哪个表达式是合法的自增运算?A. x++;B. ++x;C. x--;D. --x;答案:A13. 在C语言中,以下哪个选项是合法的函数原型声明?A. void func();B. int func(int);C. void func(int a);D. All of the above答案:D14. 若有定义int a=3;,则以下哪个表达式是合法的位运算?A. a & 2B. a | 2C. a ^ 2D. All of the above答案:D15. 在C语言中,以下哪个选项是合法的宏定义?A. #define PI 3.14159B. #define PI 3.14159fC. #define PI 3.14159LD. All of the above答案:A二、编程题(每题30分,共60分)1. 编写一个函数,计算并返回一个整数数组中所有元素的和。

计算机二级c语言试题题库及答案

计算机二级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;}```。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
153 是一个水仙花数,因为 153=13+53+33。
答:
#include <stdio.h>
void main()
{ int i,j,k,n;
printf("Narcissus number are: ");
for(n=100;n<1000;n++)
{ i=n/100;
j=n/10-i*10;
k=n%10;
} }
五、编程题 (每题 10 分,共 20 分) 1. 请编制程序实现:判断一个数能否同时被 4 和 7 整除。
答:算法如下: #include <stdio.h> int main() { int x;
printf("\n 为 X 输入值"); scanf("%d", &x); if (x%4==0) { if(x%7==0)
A.循环语句嵌套必须是同类型的语句
B.循环语句嵌套可以是同类型的语句,也可以不同类型 C.do_while 循环语句和 while 循环语句的程序执行方式都是相同的。 D.循环体中不能再有循环语句
6.有下面的程序段:
char a[ 3 ], b[ ] =”student”;
a=b;
printf (“ %s”,a);
int i,j,t; for (i=0; i<10; i++) {
scanf("%d", &a[i]); } for(j=0;j<9;j++) { for(i=0;i<9-j;i++)
{ if (a[i] > a[i+1]) { t = a[i]; a[i] = a[i+1]; a[i+1] = t; }
8.在 C 语言中,函数返回值的类型最终取决于( A
)。
A.函数定义时在函数首部所说明的函数类型
B.return 语句中表达式值的类型
C.调用函数时主调函数所传递的实参类型
D.函数定义时形参的类型
9.若有说明 int (*p)[3]; 则以下正确的描述( B )
A. p 是一个指针数组。 B. p 是一个指针,它只能指向一个包含3个 int 类型元素的数组。 C. p 是一个指针,它可以指向一个一维数组中的任意元素。
if(n==
i*i*i+j*j*j+k*k*k
)
printf("%5d",n);
}
printf("\n");
} 2. 将原文件 file1.c 的内容读出并显示, 同时将其内容写入 file2.c 文件中。
#include<stdio.h> main() { FILE *fp1,*fp2;
fp1=fopen("file1.c", "r" ); fp2=fopen("file2.c","w"); while(!feof(fp1))
putchar(getc(fp1)); rewind(fp1); while(!feof(fp1))
putc( getc(fp1) ,fp2);
2
fclose(fp1);fclose(fp2); } 3.用冒泡法对 10 个整数排序。
#include <stdio.h> int main() { int a[10];
char a[80]; printf("input string:"); gets( a); test(a); printf("\n 字母数=%d 数字数=%d 空格数=%d 其他字符数%d\n",n,m,k,o); return 0; } void test(str) char str[]; { int i;
while(i<=10) { if (!(i%2)) printf("%d,",i);
i++; } } 答案:2,4,6,8,10 3.分析下面程序的运行结果。 #include<stdio.h> main() {char s[]="456789"; s[4]='\0'; printf("%s\n",s); } 答案:4567
姓名__________________ 专业名称__________________ 班号________________学号__________________教学中心_________________ …………………… …… … … … … …密………………… …… … … … … ……封……………… …… … … …线… … … …… … … ……………………
for(i=0;str[i]!= '\0';i++) { if(str[i]>='a'&&str[i]<='z'|| str[i]>='A'&&str[i]<='Z')
n++; //n 为字母数 else if( str[i]>='0'&&str[i]<='9')
m++; //m 为数字 else if(str[i]==' ')
(× )8. 在 C 语言程序中,每个函数必须要有且只能有一个 return 语句。
(√ )9. 枚举类型变量只能取枚举定义中的枚举常量。 (√ )10. 联合类型是同一个存储空间,可以被几个不同数据类型的分量成员共享使用。
三、分析程序给出运行结果(每题 5 分,共 25 分) 1.执行下面程序之后,m 的值为多少。
A. B
B. b-a
C. float
D. _123
M_0
goto
2ab
temp
while
int
_A
INT
2.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量 a,b,c 的值分别为 1,3,2,从键盘上输
入数据的正确形式应当是( B

A.132 〈回车〉
{ printf("\nX 能被 4 和 7 整除:X="); printf("%-5d\n",x);
} else printf("\nX 不能被 7 整除"); } else printf("\nX 不能被 4 整除"); return 0; }
int n=0,m=0,k=0,o=0; //外部变量 void test(char str[]); main() {
电子科技大学网络教育考卷(A 卷)
(20 年至 20 学年度第 学期)
考试时间 年 月 日(120 分钟) 课程
C语言
教师签名_____
大题号 一 二 三 四 五 六 七 八 九 十 合 计
得分
一、单项选择题(每题 2 分,共 30 分)
1.下面的四个选项中,均不是合法的用户标识符的选项是( B )
B.a=1,b=3,c=2〈回车〉
C.a=1 b=3 c=a <回车>
D.1,3,2 〈回车〉
3.如果输入信息为:1234567 则执行语句:scanf("%2d%2d",&x,&y); 之后,x,y 的值为( A )
A. x 为 12,y 为 34
B. x 为 2,y 为 3
C. x 为 12,y 为 67
C.break 语句只能用在循环体内和 switch 语句体中。
D.在循环内使用 break 语句和 continue 语句的作用相同。
二、判断题(每题 10 分,共 10 分) ( × )1.若有代数式 x2÷(3x+5), 则正确的 C 语言表达式为:x*x/3*x+5。 ( √ )2.开发一个 c 语言的源程序要经过的四个阶段编辑、编译、连接,程序运行。 ( × )3.int i=5, j, k; j=i++; k=i; 则 k 的值为 5。 ( ×)4.已知:int s[][3]={1,2,3,4,5,6}; 此时数组元素 s[1][1]的值为 1。 ( √ )5.字符串“hello”占用内存 6 字节。 ( √ )6. C 语言中,注释可以出现在源程序中空格可以出现的任何位置。 ( ×)7. 强制类型转换,如(double)x,只改变原变量的类型,而不改变其值。
for(i=0;i<3;i++) {
printf("%d ", f(a)); } return 0; } int f(int a) { auto int b=0; static int c=3; b = b+1; c = c+1; return (a+b+c); } 答案:10 11 12
四、完善程序填空题(每题 5 分,共 15 分) 1. 输出所有的“水仙花数”,所谓“水仙花数”是指一个 3 位整数,其各位数字立方和等于该数本身。例如,
D.x 为 1234567,y 为 0
4.对于 for(表达式 1;表达式 2 ;表达式 3) 语句的正确描述( A.表达式2省略,循环不执行。
B)
B.表达式3省略,可在循环体中修改循环控制变量,以保证正常退出。
C.三个表达式均不能省略。 D.三个表达式均不能省略。但分号可以省略。 5.以下叙述中正确的是( B )。
#include<stdio.h> main()
相关文档
最新文档