c语言机试题

合集下载

(完整word)C语言考试试题.

(完整word)C语言考试试题.
A.int max(x,y);B.static char c;C.#define PI 3。141592D.#define S 345
24.C语言中要求对变量作强制定义的主要理由是(B)
A.便于编辑预处理程序的处理B。便于确定类型和分配空间
C.便于移植D.便于写文件
25。以下数据中,不正确的数值或字符常量是(A)
25.若有定义:char s[]= ”turboC ";则Turbo C系统为数组s开辟【7】个字节的内存单元
二、判断共10题(共计20分)
1.inti,*p=&i;是正确的C说明(√)
2。若有说明intc;则while(c=getchar());是正确的C语句(√)
3。共同体变量所占的内存长度等于最长的成员长度(√)
23.当a=5,b=7,c=8时,执行以下程序段后c=【5】
if(a〈c) b=a;
a=c;
c=b;
24.已知a=5,写出表达式(0<a)‖(a〈2)的值是【1】
25。在TC2。0中,有以下结构类型说明和变量定义,则变量a在内存所占字节数是【22】
Strut stud
{char num[6];
int s [4];
4.charc[]=”Very Good”;是一个合法的为字符串数组赋值的语句(√)
5.在程序中定义了一个结构体类型后,可以多次用它来定义具有该类型的变量(√)
6。整数—32100可以赋值给int型和longint型变量(√)
7.如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准(√)
for(i=0;i〈=2;i++)printf(“YES");printf(“\n”);

C语言试题库(完整版)

C语言试题库(完整版)

C语言试题库一、单项选择第一章C语言概述(1)一个C程序的执行是从A、本程序的MAIN函数开始,到MAIN 函数结束.B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。

C、本程序的MAIN函数开始,到本程序的最后一个函数结束。

D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。

(2)以下叙述正确的是A、在C程序中,MAIN函数必须位于程序的最前面.B、C程序的每行中只能写一条语句。

C、C语言本身没有输入输出语句。

D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。

(3)C语言规定,在一个源程序中,MAIN主函数的位置是在:A、必须在最前面。

B、必须在系统调用的库函数的后面C、可以在任意位置。

D、必须在最后面(4)一个C程序是由:A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成(5)以下叙述不正确的是:A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个MAIN函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面第二章数据类型、运算符与表达式(1)若x,i, j,k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16,k=32)A、4B、16C、32D、52(2)下列四组选项中,均不是C语言键字的选项是A、define ,IF,typeB、getc,char, printfC、include,scanf,caseE、i f, struct, type(3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,doB、float,1a0,_AC、b—a, goto,intD、_123, temp,INT(4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3B、3*a*e/bcC、3*a*e/b*cD、a*e/c/b*3(5)已知各变量的类型说明如下:int k, a,b;unsinged long w=5;double x=1。

C语言机考习题(参考答案)

C语言机考习题(参考答案)

2010-2011学年第一学期程序设计基础机试题库一、选择结构程序设计部分1.从键盘接收两个整数,屏幕输出其中较大的一个。

#include<stdio.h>void main(){int a,b;scanf("%d%d",&a,&b);if(a>b) printf("大数是:%d\n",a);else printf("大数是:%d\n",a);}2.从键盘接收三个整数,屏幕输出最大的一个。

#include<stdio.h>void main(){int a,b,c,max;scanf("%d%d%d",&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf("大数是:%d\n",max);}3.从键盘接收一个字母,如果接收的是‘y’或者‘Y’,则输出“正确”。

否则输出“错误”#include<stdio.h>void main(){char a;scanf("%c",&a); /*a=getchar();这句这么写也可以*/if(a=='Y'||a=='y') printf("正确\n");else printf("错误\n");}4.从键盘上接收一个十进制整数,转换成二进制输出。

#include<stdio.h>void main(){int x,a[32],i=0;printf("请输入一个十进制整数.\n");scanf("%d",&x);while(x!=0){a[i++]=x%2;x=x/2;}for(i--;i>=0;i--)printf("%d",a[i]);printf("\n");}5.从键盘上接收一个十进制整数,转换成八进制输出。

计算机c语言综合试题及答案

计算机c语言综合试题及答案

计算机c语言综合试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 下列哪个选项不是C语言中的基本数据类型?A. intB. floatC. charD. string答案:D3. 在C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. !=C. <=D. >=答案:A4. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 在C语言中,以下哪个关键字用于声明一个函数?A. functionB. defC. voidD. int答案:C6. C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int array[10] = {0};D. All of the above答案:D7. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. All of the above答案:D8. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A9. C语言中,以下哪个选项用于定义一个无限循环?A. while(1)B. for(;;)C. do whileD. All of the above答案:D10. 在C语言中,以下哪个关键字用于声明一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,使用________关键字可以定义一个宏。

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

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

计算机二级c语言机试题及答案一、选择题(每题2分,共40分)1. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A2. 下列关于数组的描述中,错误的是:A. 数组可以存储不同类型的数据B. 数组的下标从0开始C. 数组在定义时必须指定大小D. 数组可以作为函数的参数答案:A3. 在C语言中,以下哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B4. 以下哪个选项是C语言中合法的变量名?A. 2variableB. variable2C. _variableD. variable-答案:C5. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B6. 以下哪个选项不是C语言中的控制语句?A. ifB. switchC. forD. goto答案:B7. 以下哪个选项是C语言中合法的函数定义?A. int function(int x, int y)B. int function(int, int)C. int function()D. int function(int x; int y)答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D9. 以下哪个选项是C语言中合法的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI 3.14159D. #define PI 3.14159答案:A10. 在C语言中,以下哪个选项是正确的注释方式?A. /* This is a comment */B. // This is a commentC. //* This is a commentD. /* This is a comment */答案:A二、填空题(每题2分,共20分)1. 在C语言中,使用___________关键字可以定义一个枚举类型。

大一c语言机试试题库及答案

大一c语言机试试题库及答案

大一c语言机试试题库及答案一、选择题1. C语言中,用于定义一个函数的关键字是______。

A. intB. voidC. functionD. return答案:A2. 下列哪个选项是正确的C语言变量声明?A. int a;B. int a=;C. int = a;D. int a=b;答案:A3. C语言中,用于表示逻辑“与”运算的符号是______。

A. &&B. ||C. !D. =答案:A4. 下列哪个选项是C语言中的合法整数常量?A. 123B. 0x1AC. 1.23D. 0123答案:A5. C语言中,用于表示字符'A'的ASCII码值的常量是______。

A. '65'B. 'A'C. "65"D. "A"答案:B二、填空题1. C语言中,用于定义一个结构体的关键字是______。

答案:struct2. C语言中,表示逻辑“非”运算的符号是______。

答案:!3. C语言中,用于定义一个枚举类型的关键字是______。

答案:enum4. C语言中,用于定义一个联合体的关键字是______。

答案:union5. 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 odd numbers from 1 to 100 is: %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("Reversed string: %s\n", str); return 0;}```。

C语言机试题之填空题(2)

C语言机试题之填空题(2)

51)以下程序的输出结果是___【15】___。

#define MAX(x,y)(x)>(y)?(x):(y)main(){ int a=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf("%d\n",t);}(51)【15】7知识点:宏定义评析:在c语言中,宏定义是直接替换的,所以在对表达式MAX(a+b,c+d)*10进行或替换后,表达式变为:(a+b)>(c+d)?(a+b):(c+d)*10在这个条件表达式中,(a十b)>(c+d)为真,所以用(a+b)的值作为整个表达式的值(否则用(c+d)*10的值作为整个表达式的值),而(a+b)的值为7。

所以整个表达式的值为7。

(52)栈的基本运算有三种:入栈、退栈和___【1】____。

(52)【1】读栈顶元素知识点:对栈的操作评析:栈的基本运算有三种:入栈、退栈和读栈顶元素。

入栈运算是指在栈顶位置插入一个新元素。

这个运算有两个基本操作:首先将栈顶指针进一(即top加1),然后将新元素插入到栈顶指针指向的位置。

退栈运算是指取出栈顶元素并赋给一个指定的变量。

这个运算有两个基本操作:首先将栈项元素(栈顶指针指向的元素)赋给一个指定的变量,然后将栈顶指针退一(即top减1)。

读栈顶元素是指将栈顶元素赋给一个指定的变量。

这个运算不删除栈顶元素,只是将它的值赋给一个变量。

(53)在面向对象方法中,信息隐蔽是通过对象的___【2】____性来实现的。

(53)【2】封装知识点:软件工程的基本概念评析:软件工程的基本原则包括抽象、信息隐蔽、模块化、局部化、确定性、一致性,完备性和可验证性。

信息隐蔽是指采用封装技术,将程序模块的实现细节隐藏起来,使模块接口尽量简单。

(54)数据流的类型有____【3】___和事务型。

(54)【3】变换型知识点:数据流的概念评析:典型的数据流类型有两种:变换型和事务型。

变换型:是指信息沿输入通路进入系统,同时由外部形式变换为内部形式,进入系统的信息通过变换中心,经加工处理以后再沿输出通路变换成外部形式离开软件系统。

C语言上机试题

C语言上机试题

1: 第1题m个人的成绩存放在score数组中,请编写函数fun,它的功能是:将低于平均分的人作为函数值返回,将低于平均分的分数放在below所指定的函数中。

2: 第2题请编写函数fun,它的功能是:求出1到100之内能北7或者11整除,但不能同时北7和11整除的所有证书,并将他们放在a所指的数组中,通过n返回这些数的个数。

3: 第3题请编写函数void fun(int x,int pp[],int *n),它的功能是:求出能整除x且不是偶数的各整数,并按从小到大的顺序放在pp所指的数组中,这些除数的个数通过形参n返回。

4: 第4题请编写一个函数void fun(char *tt,int pp[]),统计在tt字符中"a"到"z"26各字母各自出现的次数,并依次放在pp所指的数组中。

5: 第5题请编写一个函数void fun(int m,int k,int xx[]),该函数的功能是:将大于整数m且紧靠m的k各素数存入xx所指的数组中。

.6: 第6题请编写一个函数void fun(char a[],char[],int n),其功能是:删除以各字符串中指定下标的字符。

其中,a指向原字符串,删除后的字符串存放在b所指的数组中,n中存放指定的下标。

7: 第7题请编写一个函数int fun(int *s,int t,int *k),用来求除数组的最大元素在数组中的下标并存放在k所指的储存单元中。

8: 第8题编写函数fun,功能是:根据以下攻势计算s,计算结果作为函数值返回;n通过形参传入。

S=1+1/(1+2)+1/(1+2+3)+…….+1/(1+2+3+4+……+n)9: 第9题编写一个函数fun,它的功能是:根据以下公式求p的值,结果由函数值带回。

M与n为两个正整数,且要求m>n。

p=m!/n!(m-n)!10: 第10题编写函数fun,它的功能是:利用以下的简单迭代方法求方程cos(x)-x=0的一个实根。

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

(1)/*程序修改题目要求:下列给定程序中,fun函数的功能是:求a=xx…xx-…-xx-xx-x(此处xx…xx表示n个x,x和n的值在1至9之间)。

例如:x=3,a=6,则以上表达式为:a=333333-33333-3333-333-33-3其值是296298。

x和n是fun函数的参数,表达式的值作为函数值传回main函数。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

每处3分,共9分*/#include <conio.h>#include <stdio.h>long fun(int x,int n){int j;/*********found*********/long a=0,t=1;/*********found*********/for(j=0;j<=n;j++)t=t*10+x;a=t;for(j=1;j<n;j++){ /*********found*********/t=t/10;a=a-t;}return(a);}main(){int x,n;printf("\nplease enter x and n:");scanf("%d%d",&x,&n);printf("The value of fun is %ld\n",fun(x,n));}答案:1.错误long a=0,t=1; 正确long a=0,t=0;2.错误for(j=0;j<=n;j++) 正确for(j=0;j<n;j++)3.错误t=t%10; 正确t=t/10;(2)/*本题每空5分,共15分。

程序填空题目要求:十个小孩围成一圈分糖果,老师分给第一个小孩10块,第二个小孩2块,第三个小孩8块,第四个小孩22块,第五个小孩16块,第六个小孩4块,第七个小孩10块,第八个小孩6块,第九个小孩14块,第十个小孩20块。

然后所有的小孩同时将自己手中的糖分一半给左边的小孩;糖块数为奇数的人可向老师要一块。

问经过这样几次调整后大家手中的糖的块数都一样?每人各有多少块糖?请在程序的下划线处填入正确的内容并把下划线删除,使得程序得出正确的结果。

注意:源程序不得增行或删行,也不得更改程序的结构!*/#include <stdio.h>main(){inti,count=0,a[11]={0,10,2,8,22,16,4,10,14,20};/******found*****/while(__1__){for(i=1;i<=10;i++)a[i-1]=a[i-1]/2+a[i]/2;a[10]=a[10]/2+a[0];for(i=1;i<=10;i++)/******found*****/if(__2__)a[i]++;for(i=1;i<10;i++)/******found*****/if(a[i]!=a[i+1])__3_;if(i==10)break;else{a[0]=0;count++;}}printf("count=%d number=%d\n",count,a[1]);}答案:1.2. a[i]%2==13. break(3)/*编程题目要求:请输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母。

注意:部分程序段已给出,请勿改动仅在两个found中填入你编写的若干语句。

本题14分*/#include<stdio.h>void main(){/*******found******/答案:char ch1,ch2;printf("请输入第一个字母:");ch1 = getchar();getchar(); // 吸收换行符if(ch1 == 'S'){printf("请输入第二个字母:");ch2 = getchar();switch(ch2){case 'a': printf("星期六\n");break;case 'u': printf("星期日\n");break;}}else if(ch1 == 'T'){printf("请输入第二个字母:");ch2 = getchar();switch(ch2)1{case 'h': printf("星期四\n");break;case 'u': printf("星期二\n");break;}}else{switch(ch1){case 'M': printf("星期一\n");break;case 'W': printf("星期三\n");break;case 'F': printf("星期五\n");break;}}return 0;}/*********found*****/}(4)/*程序修改题目要求给定程序中的函数Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋0到m-1的值。

请改正程序中的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。

每处3分,共6分*/#include <stdio.h>#include <stdlib.h>typedef struct aa{int data;struct aa *next;}NODE;NODE *Creatlink(int n,int m){NODE *h=NULL,*p,*s;int i;/********found********/p=(NODE )malloc(sizeof(NODE));h=p;p->next=NULL;for(i=1;i<=n;i++){s=(NODE*)malloc(sizeof(NODE));s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;}/********found********/return p;}outlink(NODE *h){NODE *p;p=h->next;printf("\n\nThe list :\n\nhead");while(p){printf("->%d",p->data);p=p->next;}printf("\n");}main(){NODE *head;head=Creatlink(8,22);outlink(head);}答案:1. 错误p->next=NULL; 正确p=s;2. 错误s->data=rand()%m; 正确s->data=rand()%(m-1);3. 错误return p; 正确return h;(5)/*本题20分程序设计题目要求题目:有n个人围成一圈,顺序排号。

从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。

注意:部分程序段已给出,请勿改动仅在两个found中填入你编写的若干语句。

*/#define nmax 50main(){int i,k,m,n,num[nmax],*p;printf("please input the total of numbers:");scanf("%d",&n);p=num;/*********found*******/答案:for(i=0;i<n;i++)*(p+i)=i+1;i=0;k=0;m=0;while(m<n-1){if(*(p+i)!=0)k++;if(k==5){*(p+i)=0;k=0;m++;}i++;if(i==n)i=0;}while(*p==0)p++;printf("The people whose number is %d is left\n",*p);/*********found*******/}(6)/*程序填空题目要求在给定程序中,函数fun的功能是:将N×N矩阵2中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。

例如,N=3,有下列矩阵:1 2 34 5 67 8 9计算结果为:3 1 26 4 59 7 8请在程序的下划线处填入正确的内容并把下划线删除,使得程序得出正确的结果。

注意:源程序不得增行或删行,也不得更改程序的结构!每空5分,共15分*/# include <stdio.h># define N 3void fun(int (*a)[N]){int i,j,t;/*************found***************/for(i=0;i<__N_;i++){/*************found***************/t=a[i][__N-1_];for(j=N-1;j>0;j--)a[i][j]=a[i][j-1];/*************found***************/_a[i][0]_ __=t;}}main(){int i,j,a[][N]={1,2,3,4,5,6,7,8,9};printf("The original array:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%2d ",a[i][j]);printf("\n");}fun(a);printf("\nThe result is:\n");for(i=0;i<N;i++){for(j=0;j<N;j++)printf("%2d ",a[i][j]);printf("\n");}}(7)/*程序修改题目要求:下列给定程序是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。

函数fun的作用是求出单向链表结点(不包括头结点)数据域中的最大值,并且作为函数值返回。

相关文档
最新文档