湘潭大学c语言程序设计考研真题复习试题精编版
- 格式:pdf
- 大小:1.02 MB
- 文档页数:6
答案:1031,1032,1034-1044,1047-1052,1054-1059 共25题1031小明的数学题Ⅰ#include<iostream>using namespace std;__int64 e;__int64 a[950];void cal(__int64 k){__int64 i;for(i=0;i<e;i++) a[i]*=k;for(i=0;i<e+20;i++) { a[i+1]+=a[i]/10; a[i]=a[i]%10; }for(i=e+20;i>=0;i--) if(a[i]!=0) break;e=i+1;}int main(){int cases;__int64 aa,n,i;scanf("%d",&cases);while(cases--){scanf("%I64d%I64d",&aa,&n);if(n==1) { printf("%I64d\n",aa); continue; }if(aa==1) { printf("1\n"); continue; }if(aa==0) { printf("0\n"); continue; }if(aa<0) { if(n%2==1) printf("-"); aa=-aa; }memset(a,0,sizeof(a));a[0]=1;e=1;for(i=1;i<=n;i++) cal(aa);for(i=e-1;i>=0;i--) printf("%I64d",a[i]); printf("\n");}return 0;}1032小明的数学题2#include<iostream>using namespace std;int e,a[400];void cal(int k){int i;for(i=0;i<e;i++) a[i]*=k;for(i=0;i<e+5;i++) { a[i+1]+=a[i]/10; a[i]=a[i]%10;}for(i=e+5;i>=0;i--) if(a[i]!=0) break;e=i+1; }int main(){int cases;int aa,n,i;scanf("%d",&cases);while(cases--){scanf("%d",&n);memset(a,0,sizeof(a));a[0]=1;e=1;for(i=1;i<=n;i++) cal(i);for(i=e-1;i>=0;i--) printf("%d",a[i]); printf("\n");}return 0;}1034小明的数学题Ⅳ#include<stdio.h>#include<string.h>char s1[2010],s2[2010],ss1[2010],ss2[2010];int a[4010],e,i,j;void calculate(int len1,int len2,char ss1[],char ss2[]) {e=0;memset(a,0,sizeof(a));for(i=0;i<len1;i++){for(j=0;j<len2;j++){a[i+j+1]+=(ss1[i]-'0')*(ss2[j]-'0');if(i+j+1>e) e=i+j+1;}}e+=5;for(i=1;i<=e;i++) { a[i+1]+=a[i]/10;a[i]=a[i]%10; } }int main(){int cases,len1,len2,dot1,dot2,i1,i2;scanf("%d",&cases);while(cases--){scanf("%s%s",s1,s2);len1=strlen(s1);len2=strlen(s2);dot1=0;dot2=0;i1=0;i2=0;if(s1[0]=='-') i1=1;for(i=i1;i<len1;i++){if(s1[i]!='.') continue;else { dot1=len1-1-i; for(j=i;j<len1-1;j++) s1[j]=s1[j+1]; len1--; break; }}for(i=len1-1;i>=i1;i--) ss1[len1-1-i]=s1[i]; if (i1==1) len1--;if(s2[0]=='-') i2=1;for(i=0;i<len2;i++){if(s2[i]!='.') continue;else { dot2=len2-1-i; for(j=i;j<len2-1;j++) s2[j]=s2[j+1]; len2--; break; }}for(i=len2-1;i>=0;i--) ss2[len2-1-i]=s2[i]; if( i2==1) len2--;if((i1+i2)%2) printf("-");calculate(len1,len2,ss1,ss2);// for(i=e;i>0;i--) printf("%d",a[i]); printf("\n");for(i=e;i>dot1+dot2;i--) if(a[i]==0) continue;else break;e=i; if(e==dot1+dot2) e=dot1+dot2+1;for(i=e;i>dot1+dot2;i--) printf("%d",a[i]); //c out<<endl; cout<<"dot1:"<<dot1<<"dot2:"<<dot2<<endl;if(dot1+dot2!=0){for(i=1;i<=dot1+dot2;i++) if(a[i]==0) continue;else break;e=i;if(e==dot1+dot2+1) e=dot1+dot2;if(!(e==dot1+dot2 && a[e]==0)) { printf(".");for(i=dot1+dot2;i>=e;i--) printf("%d",a[i]); }}printf("\n");}return 0;}1035列车长的烦恼#include<iostream>using namespace std;int a[110],stack[110],cases,n,i,p,top,aa;int main(){scanf("%d",&cases);while(cases--){scanf("%d",&n); for(i=1;i<=n;i++) scanf("%d",&a[i]);top=0;p=1;aa=1;stack[0]=-1;while(p<n+1){stack[++top]=p;p++;while(stack[top]==a[aa]) { top--;aa++; } }if(top==0) printf("Yes\n");else printf("No\n");}return 0;}1036 远古文明的算术题#include<iostream>using namespace std;int change(char s[]){int sum,i;sum=s[0]-'0';i=1;while(s[i]!='\0') { sum=sum*10+s[i]-'0'; i++; } return sum;}char s[300];long stack[1000];int main(){int cases,sum,top;scanf("%d",&cases);while(cases--){scanf("%s",s);top=0;sum=change(s);stack[++top]=sum;while(getchar()!='\n'){scanf("%s",s);if(s[0]=='+') { stack[top-1]=stack[top-1]+s tack[top]; top--; }else if(s[0]=='-'){ stack[top-1]=stack[top -1]-stack[top];top--; }else if(s[0]=='*'){ stack[top-1]=stack[top -1]*stack[top];top--; }else if(s[0]=='/') { stack[top-1]=stack[top -1]/stack[top];top--; }else if(s[0]=='%') { stack[top-1]=stack[top -1]%stack[top];top--; }else{sum=change(s);stack[++top]=sum;}}printf("%ld\n",stack[top]);}return 0;}1037成对的字符串#include<iostream>#include<cstring>using namespace std;int main(){int cases,l,sum,i;char s[1000],a[300];cin>>cases;while(cases--){scanf("%s",s);l=strlen(s);if(l%2==1) {printf("No\n"); continue;}sum=0;memset(a,0,sizeof(a));for(i=0;i<l;i++){if(a[s[i]]==0) a[s[i]]=i+1;else{if((i-a[s[i]])%2==0) { sum+=2; a[s[i]]=0; } }}if(sum==l) printf("Yes\n"); else printf("No\n");}return 0;}1038括号编码#include<iostream>using namespace std;int a[1000],stack[1000],count[1000];char str[1010];int main(){int cases,n,t,i,j,s,sum,top;cin>>cases;while(cases--){cin>>n;s=0;a[0]=0;sum=0;for(i=1;i<=n;i++){cin>>a[i];t=a[i]-a[i-1];for(j=1;j<=t;j++){str[++s]='(';count[s]=sum;}str[++s]=')';sum++;count[s]=sum;}top=0;for(i=1;i<s;i++){if(str[i]=='(') stack[++top]=i;else printf("%d ",count[i]-count[stack[top --]]);}printf("%d\n",count[i]-count[stack[top--]]);}return 0;}1039恺撒的密码#include<iostream>using namespace std;char s[1010];int cases,i,k;int main(){cin>>cases;getchar();while(cases--){for(k=0;s[k-1]!='\n';k++)s[k]=getchar();k=k-1;i=0;while(i<k){if(s[i]>='F'&&s[i]<='Z') printf("%c",s[i]-5 );else if(s[i]>='A'&&s[i]<='E') printf("%c",s[i]+21);else printf("%c",s[i]);i++;}printf("\n");}return 0;}1040零件#include<iostream>using namespace std;int a[1010];char s1[30][30],s2[30][30];int main(){int k,i,j,n,maxn,sum,len,t;bool flag;scanf("%d",&k);while(k--){scanf("%d",&n);getchar();for(i=0;i<n;i++) gets(s1[i]);for(i=0;i<n;i++) gets(s2[i]);maxn=0;for(i=0;i<n;i++){a[i]=0; len=0;t=0;flag=true;j=0;while(s1[i][j]!='\0') { if(s1[i][j]=='X ') a[i]++; j++; len++; }j=0;while(s2[i][j]!='\0') { if(s2[i][j]==' '&&flag) t++; else flag=false; if(s2[i][j]=='X') a[i]++ ; j++; }len+=j-t;if(maxn<len) maxn=len;}// cout<<maxn<<endl;// for(i=0;i<n;i++) cout<<a[i]<<" ";cout<<endl;sum=maxn*n;for(i=0;i<n;i++) sum-=a[i];printf("%d\n",sum);}return 0;}1041狼群战术#include<iostream>using namespace std;char a[5][6]={{'Q','W','E','R','T'},{'Y','U','I','O','P '},{'A','S','D','F','G'},{'H','J','K','L','Z'},{'X','C' ,'B','N','M'}};char s[1010];int main(){int cases,i;//for(i=0;i<5;i++) cout<<a[i]<<endl;scanf("%d",&cases);getchar();while(cases--){gets(s);i=0;while(s[i]!='\0'){if(s[i]=='F') { printf("V"); i+=2; }else if(s[i]>='A'&&s[i]<='E') { printf("%c",a[s[i]-'A'][s[i+1]-'A']); i+=2; } else printf("%c",s[ i++]); }printf("\n");}return 0;}1042非前缀编码1、#include<iostream>using namespace std;char a[100][1000],s[100000];int check(char *a,char *b){int l1=strlen(a),l2=strlen(b),tag=0,i;for(i=0;i<l1&&i<l2;i++)if(a[i]!=b[i]) break;if(i>=l1||i>=l2) tag=1;else tag=0;return tag;}int main(){int i,n,x,j,p,t,tag,k;scanf("%d",&n);getchar();for(i=0;i<n;i++){gets(s);x=0;t=0;j=0;while(s[x]!='\0'){if(s[x]!=' ') a[t][j++]=s[x];else{if(s[x-1]!=' ') { a[t][j]='\0'; t++; j= 0;}}x++;}if(s[x-1]!=' ') t++;p=t;tag=0;for(j=0;j<p-1;j++){for(k=j+1;k<p;k++){tag=check(a[j],a[k]);if(tag==1)break;}if(tag==1){cout<<"No"<<endl;break;}}if(tag==0)cout<<"Yes"<<endl;}return 0;}2、#include<iostream>#include<algorithm>#include<cstring>using namespace std;char s[1000][1010],len[1000],ss[1000];int cmp(const void *a,const void *b){return strcmp((char *)a,(char *)b);}bool check(int s1){for(int i=0;i<len[s1];i++) if(s[s1][i]!=s[s1+1][i]) return false;return true;}int main(){int cases,n,i,t,j;bool flag;scanf("%d",&cases);getchar();while(cases--){gets(ss);i=0;t=0;j=0;flag=false;while(ss[i]!='\0'){if(ss[i]!=' ') s[t][j++]=ss[i];else{ if(ss[i-1]!=' ') { s[t][j]='\0'; t++; j=0;} }i++;}if(ss[i-1]!=' ') t++;n=t;len[0]=strlen(s[0]);for(i=1;i<n;i++){len[i]=strlen(s[i]);if(len[i-1]>len[i]) continue;else { if(check(i-1)) { flag=true; break; } } }if(flag) printf("No\n"); else printf("Yes\n");}return 0;}1043节约每一个字节#include<iostream>using namespace std;char s[110][1000];int len[110],b[110];int main(){int cases,n,i,j,k,g,sum;scanf("%d",&cases);while(cases--){scanf("%d",&n);for(i=1;i<=n;i++) { scanf("%s",s[i]); len[i]=st rlen(s[i]); b[i]=0; }for(i=1;i<n;i++){for(j=i+1;j<=n;j++){sum=0;k=len[i]-1;g=len[j]-1;while(k>=0&&g>=0) { if(s[i][k]==s[j][g] ) { k--;g--; sum++; } else break; }if(sum>b[i]) b[i]=sum;}}sum=0;for(i=1;i<=n;i++) sum+=b[i];printf("%d\n",sum);}return 0;}1044 John的农场#include<iostream>using namespace std;int a[110][110],lowcost[110];bool s[110];int cases,n,i,j,k,minnum,minx;int main(){scanf("%d",&cases);while(cases--){scanf("%d",&n);for(i=1;i<=n;i++) for(j=1;j<=n;j++) { scanf("%d ",&a[i][j]); if(a[i][j]==0) a[i][j]=999999; }s[1]=true;minnum=0;for(i=2;i<=n;i++) { lowcost[i]=a[1][i]; s[i]=fa lse; }for(i=1;i<n;i++){minx=999999;j=1;for(k=2;k<=n;k++) if(lowcost[k]<minx && !s[ k]) { minx=lowcost[k]; j=k; }s[j]=true;minnum+=minx;for(k=2;k<=n;k++){if(a[j][k]<lowcost[k] && !s[k]) lowcost [k]=a[j][k];}}printf("%d\n",minnum);}return 0;}1047食物链#include<iostream>int f[50001],r[50001];int fs(int i){if(f[i]==i) return i;int t=f[i];f[i]=fs(f[i]);r[i]=(r[t]+r[i])%3;return f[i]; }void un(int x,int y,int h){int a=fs(x),b=fs(y);f[a]=b;r[a]=(r[y]-r[x]+3+h)%3;}int main(){int n,k,i,ans=0;scanf("%d%d\n",&n,&k);for(i=1;i<=n;++i) f[i]=i;for(i=0;i<k;i++){int d,x,y;scanf("%d%d%d",&d,&x,&y);if(x>n||y>n) {++ans;continue;}if (d==1){if (fs(x)==fs(y)){if (r[x]!=r[y]) ++ans;}else un(x,y,0);}else{if (fs(x)==fs(y)){if (r[x]!=(r[y]+1)%3) ++ans;}else un(x,y,1);}}1048黑箱子#include<iostream>using namespace std;int p[100000],top;void inset(int x){int i=0;if(x>p[top]){p[++top]=x;return;}p[top+1]=p[top];for(i=top;i>=0&&x<p[i];i--)p[i]=p[i-1];p[i+1]=x;top++;}int main(){char a[10];int num=0,x;p[0]=0;top=0;while(scanf("%s",a)!=EOF){if(a[0]!='G'){scanf("%d",&x);inset(x);} else {num++;printf("%d\n",p[num]);}}return 0;}1049牛奶的产出#include<iostream>#include<algorithm>using namespace std;long cases,n,i,a[10010];int main(){scanf("%ld",&cases);while(cases--){scanf("%ld",&n);for(i=0;i<n;i++) scanf("%ld",&a[i]);sort(a,a+n);printf("%ld\n",a[n/2]);}return 0;}1050第K个数#include<iostream>int f[50001],r[50001];int fs(int i){if(f[i]==i) return i;int t=f[i];f[i]=fs(f[i]);r[i]=(r[t]+r[i])%3;return f[i];}void un(int x,int y,int h){int a=fs(x),b=fs(y);f[a]=b;r[a]=(r[y]-r[x]+3+h)%3;}int main(){int n,k,i,ans=0;scanf("%d%d\n",&n,&k);for(i=1;i<=n;++i) f[i]=i;for(i=0;i<k;i++){int d,x,y;scanf("%d%d%d",&d,&x,&y);if(x>n||y>n) {++ans;continue;}if (d==1){if (fs(x)==fs(y)){if (r[x]!=r[y]) ++ans;}else un(x,y,0);}else{if (fs(x)==fs(y)){if (r[x]!=(r[y]+1)%3) ++ans;}else un(x,y,1);}}printf("%d\n",ans);return 0;}}1051一个小游戏#include<iostream>using namespace std;int cases,n,m,i,t;int next[1010],prev[1010];int main(){scanf("%d",&cases);while(cases--){scanf("%d%d",&n,&m);for(i=1;i<n;i++) next[i]=i+1; next[n]=1;for(i=2;i<=n;i++) prev[i]=i-1; prev[1]=n;t=1;while(n>1){for(i=1;i<m;i++) t=next[t];next[prev[t]]=next[t];prev[next[t]]=prev[t];t=next[t];n--;if(n<2) break;for(i=1;i<m;i++) t=prev[t];next[prev[t]]=next[t];prev[next[t]]=prev[t];t=prev[t];n--;}printf("%d\n",t);}return 0;}1052数字序列#include<iostream>using namespace std;const int N=3000010;int len,t[100010];bool inset[N];int main(){int n,i,s;t[0]=0; t[1]=1;s=1;memset(inset,0,sizeof(inset));inset[1]=true;for(i=1;i<N,s<100001;i++){if(inset[i]) {t[s++]=i;if(i*2+1<N && !inset[i*2+1]) inset[i*2+1]=t rue;if(i*3+1<N && !inset[i*3+1]) inset[i*3+1]=t rue;}}while(scanf("%d",&n)!=EOF){if(n<0) break;printf("%d\n",t[n]);}return 0;}1054平方数#include<iostream>using namespace std;int cases,n,i,j,sum;int64 a[1010];int main(){while(scanf("%d",&n)!=EOF){if(n==0) break;for(i=1;i<=n;i++) scanf("%I64d",&a[i]);sum=0;for(i=1;i<=n;i++){for(j=i;j<=n;j++) {if(a[j]==a[i]*a[i] || a[i]==a[j]*a[j]) sum++;}}printf("%d\n",sum);}return 0;}1055整数分类#include<iostream>#include<cstring>using namespace std;int find(char a[]){int y=0,l;l=strlen(a);for(int i=0;i<l;i++)y+=a[i]-'0';return y;}int chai(int m){if(m<10) return m;else return m%10+chai(m/10);}int main(){char a[510];int k;scanf("%s",a);while(a[0]!='0'){k=find(a);while(k>=10) { k=chai(k);} cout<<k<<endl;scanf("%s",a);}return 0;}1056猜数字#include<iostream>using namespace std;char a[5],b[5];bool c[130];int n,i,j,x,y;int main(){while(scanf("%s",a)!=EOF){if(a[0]=='0') break;scanf("%d",&n);for(j=1;j<=n;j++){scanf("%s",b);x=0;y=0;memset(c,0,sizeof(c));for(i=0;i<4;i++) if(a[i]==b[i]) x++;for(i=0;i<4;i++) c[a[i]]=1;for(i=0;i<4;i++) if(c[b[i]] && a[i]!=b[i]) y++;if(j!=n) printf("%dA%dB ",x,y); else printf("%d A%dB\n",x,y);}}return 0;}1057 XTU方阵#include<iostream>using namespace std;int main(){int n,num=1;cin>>n;while(n!=0){cout<<"Case "<<num<<":"<<endl;for(int i=0;i<3*n;i++){ for(int j=0;j<n;j++)cout<<"XTU";cout<<endl;}cout<<endl;cin>>n;num++;}return 0;}1058青蛙王子#include<iostream>using namespace std;typedef __int64 llong;llong a,b,c,t;llong gcd(llong a,llong b){if(b==0) return a;llong r=a%b;while(r>0) { a=b; b=r; r=a%b; }return b;}int main(){while(scanf("%I64d%I64d%I64d",&a,&b,&c)!=EOF){if(a==0&&b==0&&c==0) break;t=gcd(a,b);if(t==0){if(c==0) printf("Yes\n"); else printf("No\n ");}else {if(c%t == 0) printf("Yes\n");else printf("No\n");}}return 0;}1059有多少个1?#include<iostream>using namespace std;int find(__int64 n){if(n<2) return 1;return n%2+find(n/2);}int main(){__int64 n=2,x;int num;for(int i=1;i<32;i++) n*=2;while(scanf("%I64d",&x)!=EOF){if(x==0) num=0;else if(x>0) num=find(x);else num=find(n+x);cout<<num<<endl;}return 0;}。
2022年湘潭大学公共课《C语言》科目期末试卷B(有答案)一、填空题1、设有以下定义和语句,请在printf语句的_______中填上能够正确输出的变量及相应的格式说明。
union{int n;doublex;}num;num.n=10;num.x=10.5;printf("_______",_______);2、在C语言源程序中,一个变量代表【】。
3、一个C语言源程序由若干函数组成,其中至少应含有一个________4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为_______。
5、在C语言的赋值表达式中,赋值号左边必须是_______6、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
7、下面程序段的运行结果是_______。
x=2;do{printf("*");x--;)while(!x==0);8、设有以下宏定义:#define WIDTH80#define LENGTH(WIDTH+40)则执行赋值语句:k=LENGTH*20;(k为int型变量)后,k的值是_______。
9、设有以下宏定义:#define WIDTH 80#define LENGTH WIDTH+40则执行赋值语句:v=LENGTH*20;(v为int型变量)后,v的值是_______。
10、若有以下定义和语句:int*p[3],a[6],i;for(i=0;i<3;i++)p[i]=8&a[2*i];则*p[0]引用的是a数组元素_______,*(p[1]+1)引用的是a数组元素_______。
二、选择题11、若x、i、j和k都是int型变量,则执行表达式x=(i=4,j=16,k=32)后x的值为( )。
A.4B.16C.32D.5212、在C语言中,要求运算数必须是整型的运算符是( )。
C语言程序设计目录第一章C语言程序设计概述 (1)一、主要内容 (1)二、练习题部分 (1)三、参考答案 (3)第三章数据类型、运算符和表达式 (4)一、主要内容 (4)二、练习题 (5)(一)练习题之数据类型 (5)(二)练习题之运算符和表达式 (8)三、参考答案 (13)(一)练习题之数据类型参考答案 (13)(二)练习题之运算符和表达式参考答案 (14)第四章顺序程序设计 (15)一、主要内容 (15)二、练习题 (15)三、参考答案 (16)第五章选择结构程序设计 (17)一、主要内容 (17)二、练习题 (17)三、参考答案 (22)第六章循环结构 (25)一、主要内容 (25)二、练习题 (25)三、参考答案 (34)第七章数组 (39)一、主要内容 (39)二、练习题 (39)三、参考答案 (49)第八章函数 (54)一、主要内容 (54)二、练习题 (55)三、参考答案 (62)第九章预处理命令 (67)一、主要内容 (67)二、练习题 (67)第十章指针 (69)一、主要内容 (69)二、练习题 (69)三、参考答案 (74)第十一章结构体和共用体 (76)一、主要内容 (76)二、练习题 (76)三、参考答案 (78)第十二章位运算 (82)一、主要内容 (82)二、练习题 (82)第十三章文件 (83)一、主要内容 (83)二、练习题 (83)三、参考答案 (85)第一章C语言程序设计概述一、主要内容c程序基本结构特点函数与主函数1.程序由一个或多个函数组成,函数由函数头和函数体构成。
2.必须有且只能有一个主函数main()3.程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。
程序语句1.C程序由语句组成,用“;”作为语句终止符2./* */部分为注释,不能嵌套,不产生编译代码编译预处理不是C语言的一部分C程序的运行步骤运行一个C程序,从输入源程序开始,要经过编辑源程序文件(•C)、编译生成目标文件(•obj)、连接生成可执行文件(•exe)和执行四个步骤二、练习题部分一、选择题:1、C语言程序编译过程中产生的文件有:()A. 索引文件和文本文件两种B. 目标文件和可执行文件C. 二进制文件一种D. ASCII码文件和二进制文件两种2、以下说法中正确的是: ( )A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须在main函数中定义C. C语言程序总是从main函数开始执行D. C语言程序中,main函数必须放在程序的开始部分3、C语言源程序的基本单位是:()A. 函数B. 标识符C. 表达式D. 语句4、以下叙述正确的是:()A) C语言比其他语言高级 B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点5、在一个C语言程序中:()A) main函数必须出现在所有函数之前 B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后 D) main函数必须出现在固定位置6、C++语言中工程文件的扩展名是:。
2022年湘潭大学兴湘学院公共课《C语言》科目期末试卷A(有答案)一、填空题1、请读程序段:int x=1;printf("%d\n",~x);上面程序段的输出结果是_______。
2、C语言源程序的基本单位是________3、C语言源程序文件的后缀是;经过编译后,生成文件的后缀是;经过连接后,生成文件的后缀是4、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行表达式x%=(n%=2)后x的值为_______。
5、若a、b和c均是int型变量,则执行表达式a=(b=4)+(c=2)后a的值为_______,b的值为_______,c的值为_______。
6、设main函数的说明为:int main(int argc,char*argv[]),且有命令行为:FILE1123<回车>,则argc的值是_______,argv[1]的值是_______。
7、下面程序段中循环体的执行次数是_______。
a=10;b=0;do{b+=2;a-=2+b;}while(a>=0);8、为建立如图10-5所示的存储结构(即每个结点两个域,data是数据域,next是指向结点的指针域),请将定义补充完整。
struct s{char data;_______}node;9、假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。
请填空。
a+=_______;b=a-_______;a-=_______;10、若有定义:inta[3][4]={{1,2},{0},{4,6,8,10}};,则初始化后,a[1][2]得到的初值是_______,a[2][1]得到的初值是_______。
二、选择题11、下面4个选项中,是合法整型常量的选项是( )。
A.160B.-0xcdfC.-01D.-0x48a-0xffff 01a 986 0122e5011 0xe 066 80x12、下面不正确的字符串常量是( )A.'abe'B."12'12"C. "o"D.""13、以下针对scanf函数的叙述中,正确的是()。
说明: 本试卷将作为样卷直接制版胶印,请命题教师在试题之间留足答题空间。
湘潭大学2009年 上学期2008级 《C 语言程序设计Ⅱ》课程考试试卷 (A 卷) 适用年级专业 2008级测控、微电子专业 考试方式 闭卷 考试时间 120 分钟 学院 专业 班级 学号 姓名 题 号 一 二 三 四 五 六 七 八 总分 阅卷 教师 得 分 ……………………………………………………………………………………………………………… 一、单项选择题(每小题2 分,共30分,请将正确答案写在【 】内) 1. 下列说法正确的是 【 D 】 (A ) main 函数必须放在C 程序的开头 (B ) main 函数必须放在C 程序的最后 (C ) main 函数可以放在C 程序的中间部分,即在一些函数之前在另一个函数之后,但在执行C 程序时是从程序开头执行的 (D ) main 函数可以放在C 程序的中间部分,即在一些函数之前在另一些函数之后,但在执行C 程序时是从 main 函数开始的 2.在以下各组标识符中,合法的标识符是 。
得 分制卷人签名:制卷日期:审核人签名::审核日期:………………………………………………………………………………………………………………………………………………………………………………… ……………………………………………………………装……………………订……………………线…………………………………………………………………【 D 】(A)1)B01 2)table_1 3)0_t 4)k%(B)1)Fast_ 2)void 3)pbl 4)<book>(C)1)xy_ 2)longdouble 3)*p 4)CHAR(D) 1) sj 2)Int 3)_xy 4)w_y233.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中是正确的。
【 B 】(A)语法错误(B)f为5.0 (C)f为0.0 (D)f为2.04.设以下变量均为int类型,则值不等于7的表达式是。
1031小明的数学题ⅠDescription小明是个小学五年级的学生,为了早点去看自己爱看的卡通,他想快点把作业做完。
可是可恶的数学老师今天却布置了一道难题,小明想了很久也不知道该怎么做。
你的任务就是帮小明解决掉这道数学题。
题目是这样子的,有一个整数a(-2^31<= a < 2^31-1),计算它的整数幂a^n,其中1<=n<=99。
输入:第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例,每行有两个整数a,n。
输出:每行输出一个测试用例的结果Sample Input23 5-2 51032小明的数学题2Description小明是个小学五年级的学生,为了早点去看自己爱看的卡通,他想快点把作业做完。
可是可恶的数学老师今天却布置了一道难题,小明想了很久也不知道该怎么做。
你的任务就是帮小明解决掉这道数学题。
题目是这样子的,有一个正整数n(1<=n<200),计算它的阶乘n!。
输入:第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例,每行有一个整数n。
输出:每行输出一个测试用例的结果Sample Input2520Sample Output12024329020081766400001034小明的数学题ⅣDescription小明是个小学五年级的学生,为了早点去看自己爱看的卡通,他想快点把作业做完。
可是可恶的数学老师今天却布置了一道难题,小明想了很久也不知道该怎么做。
你的任务就是帮小明解决掉这道数学题。
题目是这样子的,有两个实数a,b,计算a*b。
输入:第一行是一个整数K,表示有多少个测试用例,以后每行一个测试用例,每行有三个数a,b,n。
a,b都是形如1.02或者2的数,不采用科学计数法表示,也不会有.5或者2.之类的方法表示。
输出:每行输出一个测试用例的结果,如果小数部分为0,不需要输出小数部分。
Sample Input25.0 2.01.23456789 9.87654321Sample Output1012.19326311126352691035列车长的烦恼DescriptionJohn是个小列车站的站长,每次列车在这里重新编组时他就很烦恼。
第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n"); printf(" Very Good!\n\n");printf ("**************************\n"); return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。
2021年湖南省湘潭市全国计算机等级考试C语言程序设计真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、2.填空题(10题)1. 注释一般分为序言性注释和______注释。
2. 下面程序是计算100以内能被4整除且个位数为4的所有整数,请填空。
main(){int m,n;for(m=0;【】;m++){n=m*10+4;If(【】)continue;printf("%d\n",n);} }3. 若输入21、23、34、11、2、6,则以下程序的运行结果【】。
main(){ int i;char+p,num[6];for (i=0;i<5;i++)scanf("%d,",&num[i]);scanf("%d",&num[5]);p=&num[0];sort(p,6);for (i=0;i<5;i++) printf("%d,",num[i]);printf("%d\n",num[5]);}sort(p,m)char*p;int m;{ int i;char change,*p1,*p2;for (i=0;i<m/2;i++){ p1=p+i;p2=p+(m-1-i);change=*p1;*p1=*p2;*p2=change;}}4. 以下程序段的运行结果是( )。
#include<stdio.h>main() {int x=2,y=1:switch(x) {case 1: switch(y) {case 0:printf("x=2,y=1\n");break;case 1:printf("y=1\n");break;} case 2:printf("x=2\n");} }5. 若有以下定义,则不移动指针p,且通过指针p引用值为98的数组元素的表达式是【】。
C语言典型试题2013级测控技术与仪器一班复习资料选择题1、有以下定义:int a;long b;double x、y;,则以下选项中正确的表达式是()A )a%(int)(x/y) B)a=x!=y C)(a*y)%b D)y=x+y=x答案)B A中若x、y相等,分母为0,出现除0错误;C中double 类型不能进行取余操作;D 中赋值号“=”右侧不能是表达式2、以下选项中能表示合法常量的是()A)整数:1,200 B)实数:1.5E2.0 C)字符:‘\’D)字符串:“\007”答案)D 选项A 1200中间不能有逗号,否则编译出错;选项B 2.0错误,必须为整数;选项C 要表示字符斜杠常量’\’应该在反斜杠前面再加上一个反斜杠3、以下C语言用户标识符中,不合法的是()A)_1 B)AaBc C)a_b D)a--b答案) D4表达式a+=a-=a=9值是()A)9 B)-9 C)18 D0答案)D 第一步a=9,然后计算a-a的值,并将此值赋给a,此时a=0,a+a的值赋给a.最终结果为05、#include<stdio.h>main{ int k=011;printf(“%d\n”,k++)}程序运行后输出结果()A)12 B)11 C)10 D)9答案)D 011为八进制数,对应的十进制为9,k++;先使用k再对其加1,++k;先对k进行加1赋值给k,再使用k6、以下选项中合法的标识符是()A 1_1B 1--1C _11D 1__答案)C7、若有定义语句:int x=10 ;,则表达式x-=x+x的值为()A -20B -10C 0D 10答案)B 表达式为x-(x+x)=10-20=-108、C语言规定,在一个C程序中,main()函数的位置()A 必须在系统调用的库函数之后B 必须在程序的开头C 必须在程序的最后D 可以在任意位置答案)D9、#include<stdio.h>main(){ int a=1,b=0;if(!a) b++;else if (a==0) if (a) b+=2;else b+=3;pringtf (“%d\n,b”);}程序运行后的输出结果是()A 0B 1C 2D 3答案) A 考查if else 语句,开始a=1,b=0;此时if(!a)不成立,转执行else if (a==0)由于a=1,之后的语句都不执行。