华南农业大学c语言上机考试题目
- 格式:docx
- 大小:16.16 KB
- 文档页数:6
在我决定考研的那一刻正面临着我人生中的灰暗时期,那时发生的事对当时的我来讲是一个重大的打击,我甚至一再怀疑自己可不可以继续走下去,而就是那个时候我决定考研,让自己进入一个新的阶段,新的人生方向。
那个时刻,很大意义上是想要转移自己的注意力,不再让自己纠结于一件耗费心力和情绪的事情。
而如今,已相隔一年的时间,虽然这一年相当漫长,但在整个人生道路上不过是短短的一个线段。
就在短短的一年中我发现一切都在不知不觉中发生了变化。
曾经让自己大为恼火,让自己费尽心力和心绪的事情现如今不过是弹指的一抹灰尘。
而之所以会有这样的心境变化,我认为,是因为,在备考的这段时间内,我的全身心进入了一个全然自我,不被外界所干扰的心境,日复一日年复一年的做着同样枯燥、琐碎、乏味的事情。
这不正是一种修行吗,若说在初期,只是把自己当作机器一样用以逃避现实生活的灾难的话,但在后期就是真的在这过程中慢慢发生了变化,不知不觉中进入到了忘记自身的状态里。
所以我就终于明白,佛家坐定,参禅为什么会叫作修行了。
本来无一物,何处惹尘埃。
所以经过这一年我不仅在心智上更加成熟,而且也成功上岸。
正如我预期的那样,我开始进入一个新的阶段,有了新的人生方向。
在此,只是想要把我这一年备考过程中的积累的种种干货和经验记录下来,也希望各位看到后能够有所帮助,只不过考研毕竟是大工程,所以本篇内容会比较长,希望大家可以耐心看完,文章结尾会附上我的学习资料供大家下载。
华南农业大学电子信息的初试科目为:(101)思想政治理论(204)英语二(302)数学二(854)数据结构与计算机组成原理参考书目为:严蔚敏、吴伟民编著:《数据结构(C语言版)》,清华大学出版社严蔚敏、吴伟民编著:《数据结构题集(C语言版)》,清华大学出版社唐朔飞编著:《计算机组成原理》,高等教育出版社,唐朔飞编著:《计算机组成原理学习指导与习题解答》,高等教育出版社白中英主编:《计算机组成原理》,科学出版社先说一下我的英语单词复习策略1、单词背单词很重要,一定要背单词,而且要反复背!!!你只要每天背1-2个小时,不要去纠结记住记不住的问题,你要做的就是不断的背,时间久了自然就记住了。
2022年山东农业大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、若有以下定义和语句,为使变量c1得到字符’A',变量c2得到字符’B’,正确的输入形式是_______。
char cl,c2;scanf("%4c%4c",&cl,8&c2);2、一个C语言源程序由若干函数组成,其中至少应含有一个________3、C语言源程序的基本单位是________4、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为_______,n的值为_______。
5、若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式.pow (y,fabs(x))的值为_______6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
7、执行下面程序段后,k的值是_______。
k=1;n=263;do{k*=n%10;n/=10;} while(n);8、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
9、字符串"ab\n\\012\\\"”的长度是_______。
10、以下程序段通过指针变量q,但不移动q,将如图所示连续动态存储单元的值,从第一个元素起依次输出到终端屏幕。
请填空。
(假设程序段中的所有变量均已正确说明。
)for(k=0;k<10;k++) printf("%d,",_______); printf("\n");二、选择题11、以下正确的叙述是( )。
A.在C程序中,每行中只能写一条语句B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符12、以下表达式值为3的是( )A.16-13%10B.2+3/2C.14/3-2D.(2+6)/(12-9)13、以下叙述不正确的是( )A.一个C源程序可由一个或多个函数组成B.一个C源程序必须包含一个main函数C.C程序的基本组成单位是函数D.在C程序中,注释说明只能位于一条语句的后面14、C语言规定:在一个源程序中,main函数的位置( )A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后15、若有以下程序段:int a[]={4,0,2,3,1},i,j,t;for(i=l;i<5;i++){t=a[i];j=i-1;while(j>=0&&t>a[j]{a[j+1]=a[j];j--;}a[j+1]=t;则该程序段的功能是()。
C语言试题1.下列程序的运行结果是#include "stdio.h"main(){ int y=5,z=8;if(0>y)z=0;else z+=1;printf("%d\n",z);}A. 6B. 7C. 8D. 92.下面有关for循环的正确描述是A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判断表达式C. 在for循环中,不能用break语句跳出循环体D. for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来3.当执行下面的程序时,如果输入ABC,则输出结果是A.ABC6789B.ABC67C.12345ABC6D.ABC456789#include “stdio.h”#include “string.h”main(){ char ss[10]=“1,2,3,4,5”;gets(ss); strcat(ss, “6789”); printf(“%s\n”,ss);}4.以下程序输出的结果是____。
main(){ float a=1,b=2,d;d=(a>b);printf("%d\n",d);}A. 1B. 0C. 1.0D. 45.给出以下定义:char x[ ]="abcdefg";chary[ ]={'a','b','c','d','e','f','g'};则正确的叙述为A.数组X和数组Y等价B.数组x和数组Y的长度相同C.数组X的长度大于数组Y的长度D.数组X的长度小于数组Y的长度6.C语言中用于结构化程序设计的3种基本结构是A. 顺序结构、选择结构、循环结构B. if,switch,breakC. for,while,do-whileD. if,for,continue7.请读程序片段(字符串内没有空格): printf("%d\n",strlen("ATS\n012\1\\")) ;上面程序片段的输出结果是A.11 B.10 C.9 D.88.已知各变量的类型说明如下:int k,a,b;unsigned long w=5;double x=1.42;则以下不符合C语言语法的表达式是A. x%(-3)B. w+=-2C. k=(a=2,b=3,a+B.D. a+=a-=(b=4)*(a=3)9. 以下程序的输出结果是___。
注意事项:1、请勿使用书籍、U盘、光盘等任何资料。
2、考试时间:2小时。
3、文件一定要保存在E盘,其余盘重新启动后会还原。
程序设计,用C语言完成(75分)1、从键盘上输入一个字符串,将该串分为数字、字母、其他字符三个部分输出,例如:输入:Thdad29#@12aH;77输出:ThdadaH291277#@;2、对任意正整数N,求XN,,要求运算的时间复杂度为O(logN)。
例如X30,有X30=X15*X15,X15=X7*X7*X,X7=X3*X3*X,X3=X*X*X,共7次乘法运算完毕。
3、有N个小朋友围成一圈玩击鼓传花游戏,将小朋友编号为1~N,从1号开始传花,每次传3个,拿到花的小朋友表演节目后退出,任给N,问最后一个表演的小朋友编号是多少。
例如:5个小朋友,从1号开始传花,第一个表演的是3号,第二个表演的是1号,第三个表演的是5号,第四个表演的是2号,最后一个表演的是4号。
数据库(25分)4、设某物流系统有如下表:仓库表(仓库号,仓库名,地点)货物表(货物号,货物名,单价)出入库表(仓库号,货物号,出入库数量,时间)要求:(1)使用SQL语句建立以上三张表(需要主键、外键)(2)使用SQL语句查询:单价高于100元的货物名、出入库总次数、总数量注:不需要在电脑上建表,仅需要写出SQL语句,保存到文本文件中即可2016年的:程序设计,可使用C、C++、Java或C#完成(75分)1、从键盘输入一个字符串(可能含数字、字母、其他可见字符),输出出现频率最高的英文字母及次数,忽略字母的大小写(如大写A 和小写a均视为a)。
例如:输入:There are 10,000 soldiers in the town.输出:e 54、某学院管理系统有如下表:课程表(课程号,课程名,任课老师姓名,学时数)学生表(学号,学生姓名,性别,年级)选课表(课程号,学号,成绩)要求:(1)使用SQL语句建立以上三张表(需要主键、外键)(2)建立视图:对于每门课程,列出课程号,课程名以及不及格学生人数注:不需要在电脑上建表,仅需要写出SQL语句,保存到文本文件中即可1.视图的作用是什么?2.关系数据库的作用?3.数据库设计的基本步骤?4.数据库安全性的常用方法和常用技术?贵大数据库笔试:选择题都比较简单,知识面比较杂,一般的复习题的知识能复习到就行。
题集1及答案一、选择题1. 以下操作中,数组比链表速度更快的是____(腾讯)A.原地逆序B.头部插入C.返回中间节点D.返回头部节点E.选择随机节点答案: A C E2. 已知小写字母a的ASCII码为97,大写字母A的ASCII.码为65,以下程序的结果是__________。
()(华为)main(){unsigned int a=32,b=66;printf(“%c\n”,alb);}A.66B.98C.bD.B答案:C评析:位运算符“l”的作用是按位或,即两个二进制数的相应位中只要有一个为1,该位的结果值为l。
最后以字符型输出, 98对应的字符“b”。
3. 已知形成链表的存储结构如下图所示,则下述类型描述中的空白处应填_______。
(华为)struct link{char data;___________}node;A.struct link nextB.link*nextC.struct next linkD.struct link*next答案:D评析:在单向链表中,由于每个结点需要存储下一个结点的地址,且下一个结点的数据类型与前一个结点的数据类型完全相同,故应为struct link*next。
4.若进栈序列为l,2,3,4,进栈过程中可以出栈,则下列不可能的一个出栈序列是_______。
(华为)A.1,4,3,2B.2,3,4,lC.3,1,4,2D.3,4, 2,1答案:C评析:栈是一种后进先出表,选项c中,先出栈的是3,说明此时栈内必然有1,2,由于l先于2进栈,所以l不可能在2之前出栈,故选项C这种出栈序列是不可能的。
5. 下面程序执行后s的值为() (度小满)int main(){int i=1, j=3, k=0, sum=5;switch(k> -i++){case 2: sum += 1;case 1: sum += j;case 0: sum += i; break;case -1: sum *= -1;}printf("%d",sum);return 0;}A.5B.6C.9D.10答案: Dcase 2 1 0 都满足条件,所以依此相加直到10退出6.能将高级语言程序转换成目标语言程序的是_______。
全国计算机等级考试(NCRE)广东考区报考简章全国计算机等级考试是教育部考试中心主办,用于测试应试者计算机知识和能力的等级水平考试。
一、考试等级及报考条件全国计算机等级考试设置四个等级,由低至高为一级(一级B、一级WPS Office、一级MS Office)、二级(C、Visual Basic、Visual Foxpro、JAVA、ACCESS、C++、Delphi)、三级(PC技术、信息管理技术、网络技术、数据库技术)、四级(网络工程师、数据库工程师、软件测试工程师)。
报考者不受年龄、职业、学历、户口所在地等限制,可根据本人学习和使用计算机的实际情况,选择不同等级的考试,但一次只能报考一个等级。
二、报考程序考生报名时应携带身份证,无身份证的未成年人,可凭户口本报名,现役军人可凭军人身份证报名。
报名时采取电子摄像,考生本人须亲自到报考点报名并缴交报考费,按规定填写《全国计算机等级考试报名卡》和签署“考生报名登记表”。
考生报名时,考点应向考生说明允许使用的文字录入方法,考生报考时必须注明何种科目。
上次考试笔试或上机考试仅其中一项成绩合格的,下次考试可凭上次考试成绩单只报考未通过项的考试(合格成绩只保留一次)。
如考生持有有效的保留成绩,但报名时不向报名点出示上次考试的成绩单并没有在报名卡上填写上一次考试的准考证号,则视为自动放弃保留成绩。
三、考试方式除一级各科全部采用上机考试外,二级、三级均采用笔试与上机操作考试相结合的形式,四级采用笔试形式(上机考核要求在笔试中体现)。
笔试时间二级为90分钟,三、四级为120分钟。
上机操作考试时间一级为90分钟,二级为90分钟,三级为60分钟。
四、合格证书本考试笔试、上机操作考试实行百分制计分,合格分数线由国家教育部考试中心统一划定,以等第分数成绩通知考生,等第分数分不及格、及格、良好、优秀四等。
笔试和上机操作考试成绩均在合格以上者,可获得教育部考试中心颁发的合格证书。
实验1 创建、编译与运行Java程序17268 计算两个整数得与从键盘输入两个整数,计算并输出两个整数得与。
import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();int c = a + b;System、out、println(c);}}17269 输出两个整数中得较大得值从键盘输入两个整数,判断并输出两个整数中较大得值。
import java、util、Scanner;public class Main {public static void main(String[] args) {int a,b;Scanner input = new Scanner(System、in);a=input、nextInt();b=input、nextInt();if(a>b)System、out、println(a);elseSystem、out、println(b);}}实验2 基本数据类型、运算与表达式18135 在显示屏上显示指定字符要求编写一个程序,在显示屏上显示如下内容。
注:类名必须为Main(大写M) C:\ABC、TXT is "file"public class Main {public static void main(String[] args) {System、out、print("C:\\ABC、TXT is \"file\"");} }18136 计算圆得面积由键盘输入圆得半径,计算并输出圆得面积,结果保留2位小数。
注:类名必须为Main(大写M)import java、util、Scanner;import java、text、DecimalFormat;public class Main {public static void main(String[] args) {double a,b,c;Scanner input = new Scanner(System、in);a = input、nextDouble();b = 3、14159;c = a*a*b;System、out、println(new DecimalFormat("#、##")、format(c));}}18138 输出三位整数得各位数字从键盘输入一个3位得整数,要求按照:个位、十位与百位得顺序输出三个数字。
2010年下半年(第32次)全国计算机等级考试(NCRE)广东考区报考简章全国计算机等级考试是教育部考试中心主办,用于测试应试者计算机知识和能力的等级水平考试。
一、考试等级及报考条件全国计算机等级考试设置四个等级,由低至高为一级(一级B、一级WPS Office、一级MS Office)、二级(C、Visual Basic、Visual Foxpro、JAVA、ACCESS、C++、Delphi)、三级(PC技术、信息管理技术、网络技术、数据库技术)、四级(网络工程师、数据库工程师、软件测试工程师)。
报考者不受年龄、职业、学历、户口所在地等限制,可根据本人学习和使用计算机的实际情况,选择不同等级的考试,但一次只能报考一个等级。
二、报考程序考生报名时应携带身份证,无身份证的未成年人,可凭户口本报名,现役军人可凭军人身份证报名。
报名时采取电子摄像,考生本人须亲自到报考点报名并缴交报考费,按规定填写《全国计算机等级考试报名卡》和签署“考生报名登记表”。
考生报名时,考点应向考生说明允许使用的文字录入方法,考生报考时必须注明何种科目。
上次考试笔试或上机考试仅其中一项成绩合格的,下次考试可凭上次考试成绩单只报考未通过项的考试(合格成绩只保留一次)。
如考生持有有效的保留成绩,但报名时不向报名点出示上次考试的成绩单并没有在报名卡上填写上一次考试的准考证号,则视为自动放弃保留成绩。
三、考试方式除一级各科全部采用上机考试外,二级、三级均采用笔试与上机操作考试相结合的形式,四级采用笔试形式(上机考核要求在笔试中体现)。
笔试时间二级为90分钟,三、四级为120分钟。
上机操作考试时间一级为90分钟,二级为90分钟,三级为60分钟。
四、合格证书本考试笔试、上机操作考试实行百分制计分,合格分数线由国家教育部考试中心统一划定,以等第分数成绩通知考生,等第分数分不及格、及格、良好、优秀四等。
笔试和上机操作考试成绩均在合格以上者,可获得教育部考试中心颁发的合格证书。
1 打印数字空心菱形
Time Limit:1000MS Memory Limit:65536K
题型: 编程题 语言: 无限制
描述
由键盘输入n(n为奇数),打印如下图空心菱形
例n=7
1
2 2
3 3
4 4
3 3
2 2
1
输入格式
整数
输出格式
如题
输入样例
3
输出样例
1
2 2
1
作者
Admin
答案:
#include
#include
int main()
{
int n,i,j;
scanf("%d",&n);
n/=2;
for(i=-n;i<=n;++i)
{
for(j=0;j<2*n+1-abs(i);++j)
{
if(j==abs(i)||j==2*n-abs(i))
{
printf("%d",n-abs(i)+1);
}
else
{
printf("\040");
}
}
printf("\n");
}
return 0;
}
2 两数和为1909
Time Limit:1000MS Memory Limit:65536K
题型: 编程题 语言: 无限制
描述
由键盘输入10个整数,编程判断是否存在两个数的和为1909,存在输出Y,不存在输出N
输入格式
10个整数,由空格分隔
输出格式
Y或者N
输入样例
2 1900 42 3123 31 23 343 213 34 9
输出样例
Y
提示
作者
Admin
#include
#include
main()
{
int a[10];
int i,j;
int flag = 0;
printf("input ten numbers:\n");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<10;i++)
{
for(j=0;j<10;j++)
if(a[j] + a[i] == 1909 && i!=j)
{
flag = 1;
break;
}
}
if(flag) printf("Y\n");
else printf("N\n");
system("pause");
}
3 回文串的判断
Time Limit:1000MS Memory Limit:65536K
题型: 编程题 语言: 无限制
描述
回文串是指一个字符串从左读到右与从右读到左是一样的,现由键盘输入一行字符(最多不
超过80个字符,以回车结束),
判断能否通过去掉0个或1个字符,使得字符串成为回文串,如果可以输出Y,否则输出N
输入格式
一行字符
输出格式
Y或N
输入样例
abca
输出样例
Y
提示
提示,去掉c字符,即可成为回文串
作者
Admin
#include "stdio.h"
#include "string.h"
int main()
{
int n;
char a[100]="abca";
int i,j,flag;
n=strlen(a);
i=0;
j=n-1;
flag=0; // characters qty need inserted
while ( (flag<2) // only need 0 or 1 character
&& ((i+1)<=(j-1)) // have character to compare
)
{
if (a[i]==a[j]) {i++; j--;}
else if (a[i]==a[j-1]) {flag++; i++; j-=2;}
else if (a[i+1]==a[j]) {flag++; i+=2; j--;}
else flag=2;
}
if (flag<2) printf("Y");
else printf("N");
return 0;
}
二:
#include
#include
#define SIZE 20
int isPalindrome(char []); /* Prototype only send the number and type of arguments to the
Compiler. */
main()
{ /*Local Declarations*/
char str[SIZE];
/*Statements*/
printf("请输入字符串,以回车结束:\n");
scanf("%s",str); /*Record the string.*/
if(isPalindrome(str)==0) /*The string is not a palindrome.*/
{ printf("The string is not a palindrome.\n"); }
else /*The string is a palindrome.*/
{ printf("The string is a palindrome.\n"); }
system("pause");
return 0;
}
三:
#include
#include
void main()
{
char str[20],copy[20];
char temp;
char *head,*tail;
printf("Please input a string:\n");
gets(str);
strcpy(copy,str);
head=str;
tail=str+strlen(str)-1;
while(head
temp=*head;
*head++=*tail;
*tail--=temp;
}
if(strcmp(copy,str)==0)
printf("该字符串为回文。\n");
else
printf("该字符串不是回文。\n");
}
四
#include
#include
int main()
{
int flag=1;
char str[80];
int i,j,len;
gets(str);
len=strlen(str);
for(i=0,j=len-1;i<=j;i++,j--)
{
if(str[i]!=str[j])
{
flag=0;
break;
}
}
if(flag)
printf("Y\n");
else
printf("N\n");
return 0;
}