=1&&xelsep" />
注:答案仅供参考
分期还款:
#include
#include
int main()
{
double d, p,r;
scanf("%lf%lf%lf",&d,&p,&r);
printf("%.1f", log10(p/(p-d*r))/log10(1+r));
return 0;
}
计算分段函数函数值:
#include
int main()
{
double x;
scanf("%lf",&x);
if(x<1) printf("%.2f", x);
else if(x>=1 && x<10) printf("%.2f", 2*x-1);
else printf("%.2f", 3*x-11);
}
成绩等级评分:
#include
#include
int main()
{
int score;
scanf("%d", &score);
if(score>100 || score<0)
printf("error");
else if(score>=90)
printf("A");
else if(score>=80)
printf("B");
else if(score>=70)
printf("C");
else if(score>=60)
printf("D");
else
printf("E");
return 0;
}
20秒后时间:
#include
#include
int main()
{
int h,m,s;
scanf("%d:%d:%d", &h,&m,&s);
s=s+20;
if(s>59)
{
s=s%60;
m++;
if(m>59)
{
m=m%60;
h++;
if(h>23)
h=0;
}
}
printf("%02d:%02d:%02d\n", h, m, s);
return 0;
}
分期还款(加强版):
#include
#include
int main()
{
double d, p,r;
scanf("%lf%lf%lf",&d,&p,&r);
if(d==0)
printf("0.0\n");
else if(d*(1+r)-p>d)
printf("God\n");
else
{
printf("%.1f", log10(p/(p-d*r))/log10(1+r));
}
return 0;
}
字母分类统计:
#include
#include
int main()
{
char ch;
int nL=0, nN=0, nS=0, nO=0;
while((ch=getchar())!='\n')
{
if(ch>='a'&&ch<='z'||
ch>='A'&&ch<='Z')
nL++;
else if (ch>='0'&&ch<='9')
nN++;
else if (ch==' ')
nS++;
else
nO++;
}
printf("%d %d %d %d\n", nL, nN, nS, nO);
return 0;
}
计算数列和:
#include
main()
{ int i,n;
double a=2,b=1,s=0;
scanf("%d",&n);
for(i=1;i<=n;i++)
{ s=s+a/b;
a=a+b;
b=a-b;
}
printf("%.4f\n",s);
}
自由落体:
#include
#include
int main()
{
double sum=-100, d=100;
int i,n;
scanf("%d", &n);
for(i=1; i<=n; i++)
{
sum+=2*d;
d/=2;
}
printf("%.3f %.3f", sum, d);
return 0;
}
迭代法求平方根:
#include
#include
int main()
{
double a, x0, x1=1;
scanf("%lf", &a);
do
{
x0=x1;
x1=1.0/2*(x1+a/x1);
}while(fabs(x1-x0)>=1e-5);
printf("%.4lf\n", x1);
return 0;
}
打印三角形:
#include
#define abs(x) ((x)>=0?(x):-(x))
int main()
{
int n,i,j;
scanf("%d", &n);
for(i=-(n-1); i<=(n-1); i++)
{
for(j=0; j printf(" "); for(j=0; j printf("*"); printf("\n"); } return 0; } 勾股数: #include #include int main() { int i,j,k,n; scanf("%d", &n); for(i=1; i<=n; i++) for(j=i; j<=n; j++) { k=(int)sqrt(i*i+j*j); if(k*k==i*i+j*j && k<=n) printf("%d %d %d\n", i,j,k); } return 0; } 插入数据: int n,i; scanf("%d", &n); for(i=14; i>=0; i--) if(a[i]>n) a[i+1]=a[i]; else break; a[i+1]=n; 输出不同的数: #include"stdio.h" main() { int a[20]; int i,t,p=0; for(i=0;i<10;i++) { scanf("%d",&a[i]); for(t=0;t if(a[t]==a[i])break; if(t==i) printf("%d\n", a[i]); } } 鞍点: #include #include int main() { int i,j,a[3][4],flag=0,col,r; for(i=0;i<3;i++) for(j=0;j<4;j++) scanf("%d",&a[i][j]); for(i=0;i<3;i++) { col=0; for(j=1;j<4;j++) if(a[i][j]>a[i][col]) col=j; for(j=0;j<4;j++) { if(a[i][j]==a[i][col]) { for(r=0;r<3;r++) if(a[r][j] if(r==3) { printf("%d\n", a[i][j]); flag=1; } } } } if(!flag) printf("NO\n"); return 0; } 回文串: #include "stdio.h" #include "string.h" main() { int i, j; char buf[100]; scanf("%s",buf); for(i=0, j=strlen(buf)-1;i if(buf[i]!=buf[j]) break; if(i>=j) printf("Y"); else printf("N"); } ASCII码值之和的差: #include int sum(char *s) { int t=0,i=0; while(s[i]!='\0') t+=s[i++]; return t; } int main() { char s1[81],s2[82]; gets(s1); gets(s2); printf("%d", sum(s1)-sum(s2)); return 0; } 所有数字之和: #include "stdio.h" int sum(int n) { int ret=0; while(n>0) { ret+=n%10; n/=10; } return ret; } main() { int n; scanf("%d", &n); printf("%d", sum(n)); } 元音字母: #include "stdio.h" void yuan(char *s,char *s2) { while(*s!='\0') { if(*s=='a' ||*s=='o' ||*s=='e' ||*s=='i' ||*s=='u' || *s=='A' ||*s=='O' ||*s=='E' ||*s=='I' ||*s=='U') {*s2=*s; s2++;} s++; } *s2='\0'; } main() { char str[81], str2[81]; gets(str); yuan(str,str2); printf("%s", str2); } 字符统计: #include #include #include int nL=0, nN=0; int statistics(char *s) { int ret=0; while(*s!='\0') { if(*s>='a'&&*s<='z'|| *s>='A'&&*s<='Z') nL++; else if (*s>='0'&&*s<='9') nN++; else if (*s==' ') ret++; s++; } return ret; } int main() { char s[81]; int nS; gets(s); nS = statistics(s); printf("%d %d %d\n", nL, nN, nS); return 0; } 选择排序: #include int sort(int a[], int n) { int i,j,k,tmp; for(i=0;i { k=i; for(j=i+1; j if(a[k]>a[j]) k=j; tmp=a[k];a[k]=a[i];a[i]=tmp; } } int main() { int a[10]; int i; for(i=0; i<10; i++) scanf("%d", &a[i]); sort(a,10); for(i=0; i<10; i++) printf("%d\n", a[i]); return 0; } x的n次方: #include int F(int x, int n) { if(n==1) return x; else return F(x, n-1)*x; } int main() { int x, n; scanf("%d%d", &x, &n); printf("%d", F(x, n)); return 0; } 行列互换: #include void s *a, int *b) { int temp; temp=*a;*a=*b;*b=temp; } void col(int a[][4], int i, int j) { int k; for(k=0; k<4; k++) s[k][i], &a[k][j]); } void row(int a[][4], int i, int j) { int k; for(k=0; k<4; k++) s[i][k], &a[j][k]); } int main() { int a[4][4]; int i,j; for(i=0; i<4; i++) for(j=0; j<4; j++) scanf("%d", &a[i][j]); col(a,0,2); row(a,0,2); col(a,1,3); row(a,1,3); col(a,0,3); row(a,0,3); for(i=0; i<4; i++) { for(j=0; j<4; j++) printf("%d ", a[i][j]); printf("\n"); } return 0; } 学生信息统计: #include void average(double a[][5], int n) { int i,j;double sum; for(i=0; i { sum=0; for(j=0; j<5; j++) sum+=a[i][j]; printf("%.2f ", sum/5); } printf("\n");} void average2(double a[][5], int n) { int i,j;double sum; for(j=0; j<5; j++) { sum=0; for(i=0; i sum+=a[i][j]; printf("%.2f ", sum/n); } printf("\n");} void top(double a[][5], int n) { int i,j; double max; for(j=0; j<5; j++) { max=a[0][j]; for(i=1; i if(a[i][j]>max) max = a[i][j]; printf("%.2f ", max); } printf("\n");} int main() { double a[10][5]; int i, j; for(i=0; i<10; i++) for(j=0; j<5; j++) scanf("%lf", &a[i][j]); average(a,10); average2(a,10); top(a,10); return 0; } 一年的第几天: #include struct DATE { int year; int month; int day; }; int days(struct DATE date) { int day,sum; if(date.year%4==0&&date.year%100!=0||date.year%400==0) { day=29; } else { day=28; }; switch(date.month) { case 1:sum=0;break; case 2:sum=31;break; case 3:sum=31+day;break; case 4:sum=62+day;break; case 5:sum=92+day;break; case 6:sum=123+day;break; case 7:sum=153+day;break; case 8:sum=184+day;break; case 9:sum=215+day;break; case 10:sum=245+day;break; case 11:sum=276+day;break; case 12:sum=306+day;break; }; return(sum+date.day); } int main() { struct DATE d; scanf("%d-%d-%d", &d.year, &d.month, &d.day); 华南农业大学C语言实验上机实验第四版参考答案 标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY- C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include"" main() { printf("The first C Program\n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。 2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include "" main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验 2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。 (2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 #include "" C语言程序设计上机实验指导与习题 参考答案(第四版) (学生改编) 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1. 运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++ ,编译、连接和运行该程序。 #include"stdio.h" main() { printf("The first C Program\n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1.c。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。 2. 在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include "stdio.h" main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为 a2.c。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算a+b”的题目。 (8)查看完题目要求后,点击页面下端的“sumbit”,参照第二章提交程序的方法提交程序a2.c。 (9)查看评判结果,如果得到“accepted”则该题通过,否则返回第一步检查程序是否正确。 3 实验 2 基本数据类型、运算和表达式 一、实验目的 (1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。(2)掌握不同的类型数据之间赋值的规律。 (3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运 算符的使用。 (4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目 1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。#include "stdio.h" main() { int a, b; /*定义整型变量a和b*/ 格式:一题号一答案,相对应 1001 #include "stdio.h" int main() { int a,b; scanf("%d%d",&a,&b); printf("%d",a+b); } 1007 #include "stdio.h" int main() { int a,b; scanf("%d%d",&a,&b); printf("%d",a+b); } 1014 #include"stdio.h" void main() { float area,r; scanf("%f",&r); area=3.14159*r*r; printf("%0.2f",area); } 1015 #include if(b<='Z'&&b>='A')b=b+32; if(c<='Z'&&c>='A')c=c+32; if(d<='Z'&&d>='A')d=d+32; if(e<='Z'&&e>='A')e=e+32; printf("%c%c%c%c%c",a,b,c,d,e); } 1017 #include "stdio.h" void main() {int n,place; scanf("%ld",&n); if(n>99999999)place=9; else if(n>9999999)place=8; else if(n>999999)place=7; else if(n>99999)place=6; else if(n>9999)place=5; else if(n>999)place=4; else if(n>99)place=3; else if(n>9)place=2; else place=1; printf("%ld\n",place); } 1018 #include [题目6567:The first C Program] 将下列程序输入 visual c++ ,编译、连接和运行该程序。 #includestdio.h main(){printf(The first C Program\n);}答案 #include 系统。 1 / 26 答案 #include [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; 4 e='\\'; printf("%f,%d,%d,%c,%c", a,b,c,d,e); } 运行结果为: 3.500000,3,330,J,\ [提示]赋值语句具有类型转换的功能,但可能会改变数据。 3. 基本运算 [题目1119:基本运算,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { int a, b, c; float d=15, e, f; a=35%7; b=15/10; c=b++; e=15/10; f=d/10; printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f); } 运行结果为: 0,2,1,15.000000,1.000000,1.500000 [提示]除法分整除与普通除法之分。 5 [题目1126:字符的输入与输出] 编程实现由键盘输入一个字符后,在屏幕上输出该字符。参考程序: #include "stdio.h" main() { char ch; ch = getchar(); putchar(ch); } [题目1127:计算加法] 编程实现由键盘输入一个加法式,输出正确的结果。(两个加数均为整数)[第一组自测数据] 参考程序: #include "stdio.h" main() { int a, b; scanf("%d%*c%d", &a,&b); printf("%d", a+b); } [题目1014:求圆面积] 参考程序: #include "stdio.h" main() { float area,r; scanf("%f",&r); area=3.14159*r*r; printf("%0.2f",area); } 3 [题目1015:计算摄氏温度值] 参考程序: #include 问卷共6页,第7页 华南农业大学期末考试试卷(A 卷) 2015学年第1学期 考试科目: C 语言程序设计 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业 1、答案必须分别写在“机读卡”和“答卷”上,写在本试卷上不得分。 2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。 3、机读卡的学生代号区只需填写学号后10位。 4、考试结束时,“机读卡”、“答卷”和本试卷都要上交。 一、选择题(在机读卡上答题,本题共20小题,每小题2分,共40分) 1. 请选出其中不合法的常量。( ) A. '8' B. 903u C. 65 D. D 2. C 语言程序中对函数描述正确的是( )。 A. 除了main 函数,函数相互之间可以嵌套定义,嵌套调用 B. 函数不能嵌套定义,除了main 函数,其他函数可以相互调用 C. 函数相互之间可以嵌套定义,嵌套调用,递归调用 D. 函数相互之间可以嵌套调用,但是不能调用自身 3. 以下程序段中表达式的运行结果是( )。 int i=3,j=5; char a='a'; a=a+i,a+j; A. 105 B. 102 C. 73 D. 78 4. 字符串 "\\\tabcd\r\12\n" 在内存中所占的字节数为( )。 A. 14 B. 9 C. 10 D. 11 5. 设有如下变量定义:int i=3,j=5; float x=3.5,y=5.0;请问表达式 i-=j*=x+y 的值是多 少。( ) A. 72 B. -17 C. -39 D. -19 6. 能够实现对字符串 "Dog" 进行正确赋值的操作是( )。 A. char a[3]={ 'D', 'o', 'g'}; B. char a[]="Dog"; C. char a[3]={ "Dog"}; D. char a[3]; s="Dog"; 7. 在以下给出的表达式中,与 while(exp)中的(exp)不等价的表达式是( )。 A .(!exp==0) B .(exp>0||exp<0) C .(exp= =0) D .(exp!=0) C语言程序设计上机实验指导与习题参考答案 (第四版) (学生改编) 实验1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。(3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1.运行第一个C程序 [题目:The first C Program] 将下列程序输入visual c++,编译、连接和运行该程序。 #include"" main() { printf("The first C Program\n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。2.在在线评判系统中提交实现了计算a+b功能的程序 [题目1001:计算a+b] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, #include "" main() { int a, b; scanf("%d%d", &a, &b); printf("%d", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为。 (3)按照前二章中介绍的方法,编译、连接和运行程序。 (4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 华南农业大学c语言程序设计上机指导书参考答案上级实验参考答案#include stdio.h #includemath.h int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf(%d\n,i);} } 实验2基本数据类型、运算和表达式 一、实验目的 1)掌握C语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。 2)掌握不同的类型数据之间赋值的规。 3)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加++)和自减--)运 算符的使用。 4)进一步熟悉C程序的编辑、编译、连接和运行的过程。 二、实验内容 1 / 56 1.变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b;/*定义整型变量a和b*/ int i, j;/*定义实型变量i和j */ a=5; b=6; i=3.14;j=i*a*b; printf(a=%d,b=%d,i=%f,j=%f\n, a, b, i,j); } [具体操作步骤] 1)将代码补充完整; 2)在TC或VC++上运行通过; 3)在JudgeOnline实验系统上提交; 2.赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: voidmain() 2 / 56 {float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; e='\\'; printf(%f,%d,%d,%c,%c, a,b,c,d,e); } 运行结果为: 3.500000,3,330,J,\ [提示]赋值语句具有类型转换的功能,但可能会改变数据。 3.基本运算 [题目1119:基本运算,写出程序运行结果] 阅读下面程序,写出运行结果: voidmain() {int a, b, c; 华南农业大学C语言程序设计实验指导书参考答案 华南农业大学c语言程序设计上机指导书参考答案 上级实验参考答案#include "stdio.h" #include"math.h" int main() { int i; double a, b; for(i=0;i<=100000;++i) {a=sqrt(i+100); b=sqrt(i+168); if((int)a==ceil(a)&&(int)b==ceil(b)) printf("%d\n",i);} } 实验2 基本数据类型、运算和表示式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。 2)掌握不同的类型数据之间赋值的规。 3)学会使用C 的有关算术运算符,以及包含这些运算符的表示式,特别是自加 ++ )和自减 --)运 算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个能够运行的程序,可是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); } [具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行经过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表示式与赋值语句 [题目1118:赋值表示式与赋值语句,写出程序运行结果]阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; e='\\'; printf("%f,%d,%d,%c,%c", a,b,c,d,e); } 运行结果为: 3.500000,3,330,J,\ [提示]赋值语句具有类型转换的功能,但可能会改变数据。 3. 基本运算 注:答案仅供参考 分期还款: #include 20秒后时间: #include C语言 实验1 6567 #include 问卷共6页,第1页 华南农业大学期末考试试卷(A 卷) 2015学年第1学期 考试科目: C 语言程序设计 考试类型:(闭卷)考试 考试时间: 120 分钟 学号 姓名 年级专业 1、答案必须分别写在“机读卡”和“答卷”上,写在本试卷上不得分。 2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。 3、机读卡的学生代号区只需填写学号后10位。 4、考试结束时,“机读卡”、“答卷”和本试卷都要上交。 一、选择题(在机读卡上答题,本题共20小题,每小题2分,共40分) 1. 请选出其中不合法的常量。( ) A. '8' B. 903u C. 65 D. D 2. C 语言程序中对函数描述正确的是( )。 A. 除了main 函数,函数相互之间可以嵌套定义,嵌套调用 B. 函数不能嵌套定义,除了main 函数,其他函数可以相互调用 C. 函数相互之间可以嵌套定义,嵌套调用,递归调用 D. 函数相互之间可以嵌套调用,但是不能调用自身 3. 以下程序段中表达式的运行结果是( )。 int i=3,j=5; char a='a'; a=a+i,a+j; A. 105 B. 102 C. 73 D. 78 4. 字符串 "\\\tabcd\r\12\n" 在内存中所占的字节数为( )。 A. 14 B. 9 C. 10 D. 11 5. 设有如下变量定义:int i=3,j=5; float x=3.5,y=5.0;请问表达式 i-=j*=x+y 的值是多 少。( ) A. 72 B. -17 C. -39 D. -19 6. 能够实现对字符串 "Dog" 进行正确赋值的操作是( )。 A. char a[3]={ 'D', 'o', 'g'}; B. char a[]="Dog"; C. char a[3]={ "Dog"}; D. char a[3]; s="Dog"; 7. 在以下给出的表达式中,与 while(exp)中的(exp)不等价的表达式是( )。 A .(!exp==0) B .(exp>0||exp<0) C .(exp= =0) D .(exp!=0) C语言程序设计上机实验指导与习题参考答案(第四版) 实验 1 C语言程序初步 一、实验目的 (1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。 (2)了解在该系统上如何编辑、编译、连接和运行一个C程序。 (3)通过运行简单的C程序,初步了解C程序的特点。 (4)在教师的指导下,学会使用在线评判系统。 二、实验内容 1. 运行第一个C程序 [题目: C ] 将下列程序输入,编译、连接和运行该程序。 "" () { (" C \n"); } [具体操作步骤] (1)在编辑窗口中输入程序。 (2)保存程序,取名为 a1。 (3)按照第一章中介绍的方法,编译、连接和运行程序。 (4)按照第三章介绍的方法,将代码提交到在线评判系统,系统返回“通过”,则该题完成。 2. 在在线评判系统中提交实现了计算功能的程序 [题目1001:计算] 由键盘输入两个整数,计算并输出两个整数的和。实现该功能的程序如下, "" () { a, b; ("", , ); ("", a + b); } (1)在程序编辑窗口中输入程序。 (2)保存程序,取名为 a2。 (3)按照前二章中介绍的方法,编译、连接和运行程序。(4)在程序运行过程中,输入 15 30↙ (↙表示输入回车符) (5)如果看到如下输出结果,则表明15+30 的结果正确,如果得不到如下结果,则需检查并更正程序。 45 (6)按照第三章中介绍的方法进入在线评判系统。 (7)显示题目列表,点击题号为1001,题名为“计算”的题目。(8)查看完题目要求后,点击页面下端的“”,参照第二章提交程序的方法提交程序a2。 (9)查看评判结果,如果得到“”则该题通过,否则返回第一 华南农业大学c语言期末考试试卷汇总 华南农业大学期末考试试卷(B卷) 2004学年第1学期考试科目:程序设计 考试类型:(闭卷)考试时间:120 分钟班级学号姓名 考试须知: 1.答案必须写在“答题卡”上,写在试卷上不得分。 2.考试结束时,只回收答题卡,不回收试卷。 3. 必须在答题卡上正确填写班级、学号、姓名等内容,否则没有考试成绩。 一、单项选择题(每小题2分,共30分) 1、下面标识符中,不合法的用户标识符为() A) Pad B) a_10 C) _12ab D) int 2、调用scanf(“%d,%d”,&a,&b);时,正确的键盘输入是() A) 10,20 B) a=10,b=20 C) 10:20 D) 10 20 3、能表示条件0≤x ≤100的表达式是() A) 0<= x <=100 B. x >=0, x<=100 C) 0≤x ≤100 D) x>=0&& x<=100 4、设有:int a=1,b=2,c=3,d=4,m=2,n=2; 执行(m=a>b) && (n=c>d) 后n的值为() A) 0 B) 1 C) 2 D) 3 5、下面不正确的字符串常量是() A) 'abc' B) "12'12" C) "0" D) " " 6、对字符串“Cat”进行完整赋值的操作是() A) char s[3] = {'C', 'a', 't'}; B) char s[] = "Cat"; C) char s[3] = {"Cat"}; D) char s[3]; s= "Cat"; 7、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a 后,a的值是() A) –3 B) 9 C) –12 D) 6 8、设x、y均为整型变量,且x=10,y=3,则以下语句的 输出结果是printf(“%d,%d\n”,x--,--y); () A)10,3 B)9,3 C)9,2 D)10,2 9、在Turbo C中,设inta[10];假设数组a开始于内存2000 单元,则a[2]的存储始于() A) 2002 B) 2004 C) 2006 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 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 312 3 31 23 343 213 3 4 9 输出样例 Y 提示 作者 Admin #include 华南农业大学期末考试试卷(A卷) 2010学年第1学期考试科目:程序设计(C语言) 考试类型:(闭卷)考试考试时间:120 分钟 学号姓名年级专业 题号一二三四总分 得分 评阅人机读机读 考生注意: 1、答案必须分别写在“机读卡”和“答卷”上,写在试卷上不得分。 2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。 3、在机读卡的学生代号区只填写学号后10位。 4、考试结束,只需交“机读卡”和“答卷”,本试卷不用交。 得分 一、判断题(在机读卡上答题,每小题1分,共20分) 用2B型铅笔涂答题卡!!!按题号顺序,正确的判断涂黑“A”、错误的判断涂黑“B” 1、能正确表达逻辑关系“0 实验2 基本数据类型、运算和表达式 一、实验目的 1)掌握C 语言数据类型,熟悉如何定义一个整型和实型的变量,以及对它们赋值的方法。2)掌握不同的类型数据之间赋值的规。 3)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加++ )和自减--)运 算符的使用。 4 )进一步熟悉C 程序的编辑、编译、连接和运行的过程。 二、实验内容 1. 变量的定义 [题目1117:变量定义,按要求完成程序] 下面给出一个可以运行的程序,但是缺少部分语句,请按右边的提示补充完整缺少的语句。 void main() { int a, b; /*定义整型变量a 和b*/ int i, j; /*定义实型变量i 和j */ a=5; b=6; i=3.14;j=i*a*b; printf("a=%d,b=%d,i=%f,j=%f\n", a, b, i,j); } [具体操作步骤] 1)将代码补充完整; 2)在TC 或VC++上运行通过; 3)在JudgeOnline 实验系统上提交; 2. 赋值表达式与赋值语句 [题目1118:赋值表达式与赋值语句,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { float a; int b, c; char d, e; a=3.5; b=a; c=330; d=c; e='\\'; printf("%f,%d,%d,%c,%c", a,b,c,d,e); } 运行结果为: 3.500000,3,330,J,\ [提示]赋值语句具有类型转换的功能,但可能会改变数据。 3. 基本运算 [题目1119:基本运算,写出程序运行结果] 阅读下面程序,写出运行结果: void main() { int a, b, c; float d=15, e, f; a=35%7; b=15/10; c=b++; e=15/10; f=d/10; printf("%d,%d,%d,%f,%f,%f", a,b,c,d,e,f); } 运行结果为: 0,2,1,15.000000,1.000000,1.500000 [提示]除法分整除与普通除法之分。 实验3 基本输入与输出 一、实验目的 1)熟练掌握putchar、getchar、printf、scanf 函数的使用方法。 2)掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。 华南农业大学期末考试试卷(A卷)2013学年第1学期考试科目:程序设计(C语言) 考试类型:(闭卷)考试考试时间:120 分钟 学号姓名年级专业 考生注意 1、答案必须分别写在“机读卡”和“答卷”上,写在试卷上不得分。 2、必须在机读卡和答卷上正确填写班级、学号、姓名等内容,否则没有考试成绩。 3、在机读卡的学生代号区只填写学号后10位。 4、考试结束,只需交“机读卡”和“答卷”,本试卷不用交。 一、选择题(在机读卡上答题,本大题共20小题,每小题2分,共40分) 1. 下列关于C语言用户标识符的叙述中正确的是( ) (A) 用户标识符中可以出现在下划线和中划线(减号) (B) 用户标识符中不可以出现中划线,但可以出现下划线 (C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头 (D) 用户标识符中可以出现在下划线和数字,它们都可以放在用户标识符的开头 2. 一个C程序的执行是从() (A)本程序的main 函数开始,到本程序文件的最后一个函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 (C)本程序的main 函数开始,到main函数结束 (D)本程序文件的第一个函数开始,到本程序main函数结束 3. 设有int i; char c; double f; float e;在如下表达式中结果为整数的是() (A) i*c (B) i+f+e (C) c+f (D) i+c+f 4. 在switch语句中,执行完一个case分支后要是流程跳出switch结构,应使用()语句 (A) continue (B) return (C) else (D) break 5. 调用scanf(“a=%d,b=%d”,&a,&b);时,正确的键盘输入是() 实验六 1028 #include int i,j,k,r,n; scanf("%d",&n); for(i=-n;i<=n;i++){ for(j=1;j<=abs(i);j++){ printf(" "); } for(k=0;k<=n-abs(i);k++) printf("*"); for(r=n-abs(i);r>=1;r--) printf("*"); printf("\n"); } return 0; } 标程 #include "stdio.h" #include "math.h" main() { int n,i,j,k; scanf("%d",&n); for(i=1;i<=2*n+1;i++) { k=abs(n+1-i); for(j=1;j<=k;j++) printf(" "); for(j=1;j<=2*n+1-2*k;j++) printf("*"); printf("\n"); } } 叶建华后来的方法 #include 华南农业大学C语言实验上机实验第四版参考答案
华南农业大学C语言实验上机实验第四版参考答案
华南农业大学C语言上机实验答案
华农C语言题目及答案完整版
华农C语言程序设计实验
华南农业大学2015上学期C语言A卷试卷及答案
华南农业大学C语言实验上机实验第四
华南农业大学C语言程序设计实验指导书参考答案
华南农业大学C语言程序设计实验指导书参考答案
华农C语言教材习题答案
华农 C语言实验答案
2015上学期C语言A卷试卷及答案
华南农业大学C语言实验上机实验第四版参考答案
华南农业大学c语言期末考试试卷
华南农业大学c语言上机考试题目
华南农业大学期末考试试卷 C语言考试合集
华南农业大学C语言程序设计实验指导书参考答案
华南农业大学2013学年第1学期程序设计(C语言)期末考试试卷(A卷)
华南农业大学C语言上机实验通过版实验六