大一C语言编程重点复习题

合集下载

大一c语言期末考试编程题

大一c语言期末考试编程题

大一c语言期末考试编程题1.判断素数第一题:判断是否为素数,若是,则返回1,否则返回0,若输入1或比1小的数字返回0。

int is_Prime(int a)//素数判断,是则返回1,不是返回0,-1表示输入的值有问题{int i = 0;if (a <= 1)return -1;for (i = 2; i <= sqrt(a); i++){if (a % i == 0)return 0;}return 1;}这里有同学可能不明白为什么for (i = 2; i <= sqrt(a); i++)简单解释一下:因数都是成对出现的,比如100,其可以分为1和100,2和50,4和25,由此可见其中一个必然小于等于100的开方,另一个则大于等于100的开方。

这种判断素数的方法,应付考试足以,但想要更上一层楼这却远远不够,大家可以去了解一下筛法。

2.数组排序期末考试的排序方法常常有两种:选择排序、冒泡排序。

void sortarry2(int* a, int n) //冒泡排序{int i, j;for (i = 0; i < n - 1; i++)//此处只需比n-1次for (j = 1; j < n - i; j++)//每次比好后,只需比n-1-i次{if (a[j] < a[j - 1]){int temp;temp = a[j - 1];a[j - 1] = a[j];a[j] = temp;}}return;}这是冒泡排序(从小到大),顾名思义就是每次让较大的数想气泡一样浮上去,对于为什么第一个for语句只需比n-1次,大家想想,现在排5个数,四个较大数浮上去了,最后一个还用比吗?同样第二语句为什么只需比n-1-i次也是同样的道理。

void sortarry1(int *a,int n)// 选择排序{int i, j;for(i=0;i<n-1;i++)for (j = i + 1; j < n; j++){if (a[i] > a[j]){int temp;temp = a[i];a[i] = a[j];a[j] = temp;}}return ;}了解了冒泡排序后,选择排序就十分好理解了,这里就不多说了。

c语言考试题及答案大一

c语言考试题及答案大一

c语言考试题及答案大一一、选择题1. 下列哪个是C语言的关键字?A. intB. MainC. VarD. For答案:A. int2. C语言中,用于接收用户输入的函数是?A. print()B. scanf()C. input()D. read()答案:B. scanf()3. 下列哪个运算符用于执行求余操作?A. +B. /C. -D. %答案:D. %4. 在C语言中,以下不属于基本数据类型的是?A. intB. floatC. charD. string答案:D. string5. 以下哪个循环结构在执行前判断条件是否满足?A. for循环B. while循环C. do-while循环D. switch语句答案:B. while循环二、填空题1. C语言中,用于定义常量的关键字是__const__。

2. 在C语言中,用于将字符转换为整数的函数是__atoi__。

3. 在C语言中,用于声明一个变量但不对其进行初始化的关键字是__extern__。

4. 在C语言中,用于定义一段预处理指令的关键字是__define__。

三、编程题1. 编写一个C语言程序,判断一个输入的整数是否为质数。

如果是质数,则输出"Yes",否则输出"No"。

```c#include <stdio.h>int isPrime(int n);int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("Yes\n");} else {printf("No\n");}return 0;}int isPrime(int n) {if (n <= 1) {return 0;}for (int i = 2; i * i <= n; i++) {if (n % i == 0) {return 0;}}return 1;}```四、简答题1. 请说明C语言中的指针和数组的关系。

大一学生c语言考试题及答案

大一学生c语言考试题及答案

大一学生c语言考试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x123B. 123.0C. 0123D. 0x12.3答案:A2. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 下列哪个运算符不能用于数组?A. []B. +C. *D. /答案:D4. 在C语言中,以下哪个选项不是控制语句?A. ifC. forD. sizeof答案:D5. 若有定义:int a=5; float b=2.5; 则表达式 a%b 的值是多少?A. 0B. 0.0C. 2D. 编译错误答案:D6. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A7. 下列哪个选项是正确的C语言变量声明?A. int $a;B. int _a;C. int 2b;D. int a-b;答案:B8. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?B. strncpy()C. strcat()D. strcmp()答案:A9. C语言中,以下哪个选项不是标准输入输出库函数?A. printf()B. scanf()C. fgets()D. malloc()答案:D10. 若有定义:int a=10; 则执行语句 a+=a*=a; 后,变量a的值是多少?A. 100B. 200C. 1000D. 0答案:A二、填空题(每题2分,共20分)1. 在C语言中,字符常量可以用单引号括起来,例如 'A','1',' ' 等,其中 ' ' 表示______。

答案:空格2. C语言中,若要声明一个指向整型的指针变量,可以使用以下语法:int *______;答案:p3. 在C语言中,若要声明一个具有10个元素的整型数组,可以使用以下语法:int ______[10];答案:arr4. 在C语言中,若要声明一个函数,该函数返回整型值,并且接受两个整型参数,可以使用以下语法:int ______(int a, int b);答案:func5. 在C语言中,若要声明一个结构体变量,可以使用以下语法:struct ______ st;答案:StructType6. 在C语言中,若要声明一个枚举类型,可以使用以下语法:enum ______ {E1, E2, E3};答案:EnumType7. 在C语言中,若要声明一个联合体变量,可以使用以下语法:union ______ u;答案:UnionType8. 在C语言中,若要声明一个浮点型数组,可以使用以下语法:float ______[5];答案:arr9. 在C语言中,若要声明一个二维数组,可以使用以下语法:int ______[3][4];答案:arr10. 在C语言中,若要声明一个具有10个元素的字符数组,可以使用以下语法:char ______[10];答案:str三、简答题(每题10分,共20分)1. 请简述C语言中数组和指针的区别。

大一c语言考试题及答案详解

大一c语言考试题及答案详解

大一c语言考试题及答案详解大一C语言考试题及答案详解一、选择题(每题2分,共20分)1. C语言中,以下哪个是正确的数据类型?A. IntegerB. intC. floatD. all of the above答案:D2. 下列哪个运算符不能用于整数和浮点数的运算?A. 加(+)B. 减(-)C. 乘(*)D. 模(%)答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. ifB. forC. functionD. void答案:D4. C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. abs()D. log()答案:A5. 在C语言中,以下哪个是正确的数组声明语句?A. int numbers[];B. int [10] numbers;C. Both A and BD. None of the above答案:C6. 以下哪个语句可以正确地交换两个变量的值?A. a = a + b;B. a = a - b;C. a = a / b;D. a = a + b; b = a - b; a = a - b;答案:D7. C语言中,哪个预处理指令用于包含头文件?A. #includeB. #importC. #include_onceD. #header答案:A8. 在C语言中,哪个关键字用于声明一个指针变量?A. varB. pointerC. ptrD. * (asterisk)答案:D9. 下列哪个不是C语言中的控制结构?A. if-elseB. switch-caseC. whileD. goto答案:D10. C语言中,以下哪个函数用于将整数转换为字符串?A. intToString()B. itoa()C. toStr()D. None of the above答案:B二、填空题(每空2分,共20分)1. 在C语言中,字符常量用________表示。

大一c语言经典编程题

大一c语言经典编程题

大一c语言经典编程题
在大一学习C语言时,经典的编程题有很多,下面我将为你列
举几个常见的题目,并从不同角度给出解答。

1. 计算两个整数的和与积。

题目描述,编写一个程序,要求用户输入两个整数,然后计算
并输出它们的和与积。

解答,可以使用scanf函数接收用户输入的两个整数,然后使
用加法和乘法运算符计算和与积,最后使用printf函数输出结果。

2. 判断一个数是否为素数。

题目描述,编写一个程序,判断用户输入的一个正整数是否为
素数。

解答,可以使用循环从2开始逐个除以该数的所有可能因子,
如果存在能整除该数的因子,则该数不是素数;否则,该数是素数。

3. 求解斐波那契数列。

题目描述,编写一个程序,输出斐波那契数列的前n项。

解答,可以使用循环或递归的方式实现斐波那契数列的求解。

循环方式通过迭代计算当前项和前两项的和,递归方式则通过定义函数自身来求解。

4. 字符串反转。

题目描述,编写一个程序,将用户输入的字符串进行反转。

解答,可以使用循环遍历字符串,将字符从后往前逐个取出,并放入一个新的字符串中,最后输出新的字符串即可实现字符串反转。

5. 数组排序。

题目描述,编写一个程序,对一个整型数组进行升序排序。

解答,可以使用冒泡排序、选择排序、插入排序等常见的排序算法来对整型数组进行升序排序,具体实现方式可以根据具体算法
进行编写。

以上只是一些大一阶段常见的C语言编程题,还有很多其他的经典题目,可以通过参考相关的编程教材或网上资源来获取更多题目和解答。

希望以上回答能够帮助到你。

大一期末C语言程序设计基础题库与总结复习资料

大一期末C语言程序设计基础题库与总结复习资料

C语言题库第一章计算机语言经历发展阶段:机器语言、符号语言、高级语言程序结构有3种:顺序结构,选择结构,循环结构C语言的特点:允许直接访问物理地址。

【C语言中含有的位和指针运算,能够直接对内存地址进行访问。

】不是C语言的特点的是:能够编制出功能复杂的程序【所有程序都可以,不算特点】Main:主函数,是所有程序运行的入口、起点。

一个C语言程序必须只有一个main函数。

程序总是从main函数开始执行,main函数可以放任何位置,到main函数结束。

函数体由花括号括起来结束标志:returnreturn 0的作用是:当main函数执行结束前将整数0作为函数值返回到调用函数处return(z)的作用是:将z的值作为max的函数值返回给调用max 函数的函数。

只有通过return(z)才能把求出的z值作为函数值并返回调用它的main函数中C语言程序的结构:由一个或多个源程序(C语言编写的程序,也可以叫编译单位)文件组成(源程序文件中包含:预处理指令、全局声明、函数定义)函数是C程序的主要组成部分(也是基本单位),C语言由函数组成。

函数包括两部分:函数首部、函数体C语言本身不提供输入输出语句,输入输出的操作是有库函数scanf 和printf等函数来完成的。

程序应包含注释#define和printf都不是C语句C语言程序的运行经过:编辑(edit)、编译(compile)、连接(link)【C语言中是build】、执行(execute)。

C语言源程序文件的后缀是.cpp,经过编译之后,生成后缀为.obj 的目标文件,经连接生成后缀.exe的可执行文件C语言的储存类型包括register、extern、statis和auto基础知识6、用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( C )。

A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D. 自动保存源文件运算优先级:!(非)>算数(如%)>关系>逻辑>赋值运算符(低)空语句:只有分号组成的语句,即一个分号。

大学C语言复习题_附答案

大学C语言复习题_附答案

判断题1.运算器是完成算术和逻辑操作的处理部件,通常称为CPU。

×控制器2.通常硬盘安装在主机箱内,因此它属于主存储器。

×内存3.指令与数据在计算机内是以ASCII码进行存储的。

×二进制4.操作系统是合理地组织计算机工作流程、有效地管理系统资源、方便用户使用的程序集合。

√5.用计算机机器语言编写的程序可以由计算机直接执行,用高级语言编写的程序必须经过编译才能执行。

√6.计算机的所有计算都是在内存中进行的。

×运算器7.字长是指计算机能直接处理的二进制信息的位数。

√8.计算机区别于其他计算工具的本质特点是能存储数据和程序。

√9.系统软件就是市场上买来的软件,应用软件就是自己编写的软件。

×买的也可以10.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、小写英文字母、大写英文字母。

×大写小写11.多台计算机相连,就形成了一个网络系统。

×什么叫网络系统哦?12.在Internet网上,IP地址、E-mail地址都是唯一的。

√13.不同类型的变量在内存中占用存储空间的大小都是一样的。

×错了14.表示数学式3<x<5的C表达式也是3<x<5。

×3<x&&x<515.设某字符的ASCII码十进制值为72,则其十六进制值为48。

√16.结构化程序语言的三种基本结构是顺序、选择和循环。

√17.‘\n’不是一个字符常量。

×是的18.与float型数据相比,double型数据的精度高,取值范围大。

√19.在C语言中,表达式(010+2)的值是10。

√20.do-while语句先执行循环体,后判断循环条件,所以循环体至少会执行一次。

√21.在C 语言中,常量和变量都有数据类型。

√22. C 语言的运算符只有单目运算符和双目运算符两种。

×三目?:23.若变量已正确定义,表达式x + y == z符合C语言语法。

C语言常见复习题(选择填空)及参考答案

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案一、选择题1.下述标识符中,()是合法的用户标识符。

A.A#CB.getchC.voidD.ab*2.在C语言中,字符型数据在内存中是以()形式存放的。

A.原码B.BCD码C.反码D.ASCII码3.以下选项中不合法的用户标识符是()。

A.abc.cB.fileC.MainD.PRONTF4.以下选项中不合法的用户标识符是()。

A.123B.printfC.Anbsp;D.Dim5.可以在C语言程序中用做用户标识符的一组标识符是()。

A.voidB.as-b3C.forD.2cdefine -123 -abc DoWORD If cas SIG6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。

(1)A.001 B.table_1 C.0_t D.k%Int t*.1 W10 point(2)A.Fast_ B.void C.pbl D.Fast+Big abs fabs beep(3)A.xy_ B.longdouble C.*p D.CHAR变量1 signed history Float7.()是构成C语言的基本单位。

A.函数B.过程C.子程序D.子例程8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符C.包含1个字符D.无定值,说明不合法(2).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法(3).A.包含1个字符 B.包含2个字符C.包含3个字符D.无定值,说明不合法9.若x为int型变量,则执行以下语句后,x的值为x=6;x+=x-=x*xA.36B.-60C.60D.-2410.在C语言中,char 型数据在内存中是以()形式存储的。

A.原码B.补码C.ASCII码D.反码11.以下运算符中优先级最低的算符为(),优先级最高的为()。

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

输出众数:int main(){int a[10],b[10]={0};int i,j,max;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=0;i<10;i++)for(j=i;j<10;j++)if(a[i]==a[j])b[i]++;max=b[0];for(i=0;i<10;i++)if(b[i]>max)max=b[i];if(max==1)printf("No");elsefor(i=0;i<10;i++)if(b[i]==max)printf("%d,%d\n",a[i],b[i]);return 0;}平方数:#include<stdio.h>int main(){int i,a,b;for(i=1000;i<=9999;i++){a=i/100;b=i%100;if(i==(a+b)*(a+b))printf("%d\n",i);}return 0;}排序:由小到大#include<stdio.h>int main()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;}for(i=0;i<9;i++) printf("%d\n",a[i]); printf("%d",a[9]); return 0;}#{int n,i,j;for(i=0;i<10;i++) scanf("%d",&a[i]);scanf("%d",&n);if(n>a[9])a[10]=n;else{ for(i=0;i<9;i++)if(a[i]>n){ for(j=9;j>=i;j--) a[j+1]=a[j];a[i]=n;break;}}for(i=0;i<10;i++)printf("%d ",a[i]); printf("%d",a[10]); return 0;}总平均成绩,各科平均成绩:#include<stdio.h>int main(){int a[3][5];int i,j;float sum[3]={0,0,0},total=0; for(i=0;i<3;i++)for(j=0;j<5;j++){scanf("%d",&a[i][j]);sum[i]+=a[i][j];}for(i=0;i<3;i++)for(j=0;j<5;j++)total+=a[i][j];for(i=0;i<2;i++)printf("%.2f ",sum[i]/5);printf("%.2f",sum[i]/5); printf("\n");printf("%.2f\n",total/15);return 0;}*/找出最小数,输出其下标:/*#include<stdio.h>int main(){int i,j,row=0,colum=0,min; int a[3][4];for (i=0;i<3;i++)for(j=0;j<4;j++)scanf("%d",&a[i][j]);min=a[0][0];for (i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]<min){min=a[i][j];row=i;colum=j;}printf("min=%d\n%d,%d",min,row,colum);return 0;*/*/求平均值:#include<stdio.h>float avernum(int a[20]){ int i;float sum=0,aver;for(i=0;i<20;i++)sum=sum+a[i];aver=sum/20.00;return(aver);}int main(){int a[20],i;float x;for(i=0;i<20;i++)scanf("%d",&a[i]);x=avernum(a);printf("%f",x);return 0;}编写一个函数fun,函数的功能是:判断一个整数是否既是5又是7的整倍数。

若是,输出yes,否则输出no。

在主函数中输入任意一个正整数,调用fun函数,输出该数对应的结果。

主函数形式如下:int main(){int n;scanf("%d",&n);fun(n);return 0;}要求:(1)本题main函数已在后台给出,不需要再写了,但需要给出合适的头文件。

(2)给出fun函数#include<stdio.h>void fun(int x){if(x%5==0&&x%7==0)printf("yes");else printf("no");}int main(){int n;scanf("%d",&n);fun(n);return 0;}#include<stdio.h>int fac(int n){ if(n==1||n==2)return 1;else return fac(n-1)+fac(n-2);}int main(){int i,n;scanf("%d",&n);for(i=1;i<=n;i++)if(i%5==0)printf("%d\n",fac(i));elseprintf("%d ",fac(i));return 0;}将数组a 的数据逆序复制到数组b中,并输出数组b的值#include<stdio.h>int main(){int i,*p;int a[10],b[10];for(i=0;i<10;i++){scanf("%d",&a);p=a;b[i]=*p;printf("%d ",b[i]);}return 0;}结构体定义时间结构体,输入某一时刻的时间,输出下一秒的时间#include<stdio.h>int main(){struct Time{int h;int m;int s;}t1,t2;scanf("%d:%d:%d",&t1.h,&t1.m,&t1.s);t2.s=t1.s+1;t2.m=t1.m;t2.h=t1.h;if(t2.s==60){t2.m=t1.m+1;t2.s=0;}if(t2.m==60){t2.h=t1.h+1;t2.m=0;}if(t2.h==24){t2.h=0;}printf("%d:%d:%d",t2.h,t2.m,t2.s); return 0;}#include<stdio.h>int main(){struct Stu{int num;char name[20];float score[3];};struct Stu s[5];int i,j;int k=0;k必须要赋初值float max;float sum[5]={0},sum1[3]={0};for(i=0;i<5;i++){scanf("%d%s",&s[i].num,s[i].name);scanf("%f%f%f",&s[i].score[0],&s[i].score[1],&s[i].score[2 ]);}max=s[0].score[0]+s[0].score[1]+s[0].score[2];for(i=0;i<5;i++)sum[i]=s[i].score[0]+s[i].score[1]+s[i].score[2];for(i=0;i<5;i++)if(sum[i]>max){max=sum[i];k=i;}printf("%d %s ",s[k].num,s[k].name);printf("%.1f %.1f %.1f\n",s[k].score[0],s[k].score[1],s[k] .score[2]);for(j=0;j<3;j++)for(i=0;i<5;i++)sum1[j]+=s[i].score[j];printf("%.1f %.1f %.1f",sum1[0]/5,sum1[1]/5,sum1[2]/5);return 0;}(注:文档可能无法思考全面,请浏览后下载,供参考。

)。

相关文档
最新文档