C语言上机题库百科园第6章!南信大!
C语言上机题库百科园第优选章南信大
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出结果是3.对for(表达式1;;表达式3)可理解为()。
(表达式1;1;表达式3)(表达式1;0;表达式3)(表达式1;表达式1;表达式3)(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf("%d",i--);次次C.无限次次5.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3的值不等于12345并且n的值小于3的值不等于12345或者n的值小于3的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作7.执行语句for(i=1;i++<4;);后变量i的值是()。
C语言第六章习题答案
6.1 用筛选法求100之内的素数. #include <stdio.h>#define N 101void main(){ int i,j,line,a[N];for(i=1;i<=100;i++)a[i]=i;a[1]=0;for(i=2;i<sqrt(100);i++)for(j=i+1;j<=100;j++){ if(a[i]!=0 && a[j]!=0) if(a[j]%a[i]==0)a[j]=0;}printf("n");for(i=2,line=0;i<=100;i++) { if(a[i]!=0){ printf("%5d",a[i]); line++;if(line==10){ printf("n");line=0;}}}}6.2 用选择法对10个数排序.#define N 10main(){int i,j,min,temp,a[N];printf("请输入十个数:n"); for (i=0;i<=10;i++){ printf("a[%d]=",i);scanf("%d",&a[i]);}printf("n");for(i=1;i<=10;i++)printf("%5d",a[i]);printf("n");for (i=1;i<=9;i++){ min=i;for(j=i+1;j<=10;j++)if(a[min]>a[j]) min=j; temp=a[i];a[i]=a[min];a[min]=temp;}printf("n排序结果如下:n");for(i=0;i<N;i++)printf("%5d",a[i]);}6.3 对角线和:main(){float a[3][3],sum=0;int i,j;printf("请输入矩阵元素:n");for(i=0;i<3;i++)for(j=0;j<3;j++)scanf("%f",&a[i][j]);for(i=0;i<3;i++)sum=sum+a[i][i];printf("对角元素之和= 6.2f",sum); }6.4 插入数据到数组{ int a[11]={1,4,6,9,13,16,19,28,40,100}; int temp1,temp2,number,end,i,j;printf("初始数组如下:");for (i=0;i<10;i++)printf("%5d",a[i]);printf("n");printf("输入插入数据:");scanf("%d",&number);end=a[9];if(number>end)a[10]=number;else{ for(i=0;i<10;i++){ if(a[i]>number){ temp1=a[i];a[i]=number;}for(j=i+1;j<11;j++){ temp2=a[j];a[j]=temp1;temp1=temp2;}break;}}for(i=0;j<11;i++)printf("a%6d",a[i]);}6.5 将一个数组逆序存放。
C语言程序设计教程第六章课后习题参考答案
C语⾔程序设计教程第六章课后习题参考答案P158 1求三个实数最⼤值#includefloat max(float,float,float);int main(){float a,b,c,m;printf("请输⼊三个实数:");scanf("%f %f %f",&a,&b,&c);printf("最⼤数为%f\n",max(a,b,c));return 0;}float max(float a,float b,float c){float t;if(a>b&&a>c)t=a;else if(b>a&&b>c)t=b;elset=c;return t;}P158 2求最⼤公约数最⼩公倍数#includeint fun1(int a,int b);int fun2(int a,int b);int main(){int a,b;printf("请输⼊两个整数:");scanf("%d %d",&a,&b);printf("最⼤公约数为:%d\n",fun1(a,b));int t,r;if(a{t=a;a=b;b=t;}while((r=(a%b))!=0) {a=b;b=r;}return b;}int fun2(int a,int b) {int n;n=(a*b)/fun1(a,b); return n;}P158 3求完全数#includevoid wan(int n); void main(){int n;for(n=1;n<1000;n++) wan(n);printf("\n");}void wan(int n){if(n%i==0)s=s+i;}if(n==s)printf("%d\t",n); }P158 4⽆暇素数#include#includeint nixvshu(int n);int isPrime(int n);int main(){int n,t;printf("⽆暇素数:\n");for(n=100;n<=999;n++) {t=nixvshu(n);if(isPrime(n)&&isPrime(t)) printf("%d\t",n);}printf("\n");return 0;}int nixvshu(int n){int x=0;while(n){x=x*10+n%10;n=n/10;}return x;int i;for(i=2;i<=sqrt(n);i++)if(n%i==0) return 0;return n;}P158 7递归函数#includeint Y(int n){if(n==0)return 0;if(n==1)return 1;if(n==2)return 2;elsereturn (Y(n-1)+Y(n-2)+Y(n-3)); } int main(){int n,k=0;for(n=0;n<=19;n++){printf("%d\t",Y(n));k++;if(k%5==0)printf("\n");}return 0;}P124 6分解质因数#include#includevoid fenjie(int );int main(){int n;printf("请输⼊⼀个正整数:"); scanf("%d",&n);if(isPrime(n)){printf("%d=1*%d\n",n,n);}else{fenjie(n);printf("\n");}return 0;}int isPrime(int n){int i;for(i=2;i<=sqrt(n);i++){if(n%i==0) return 0;}return 1;}int zhi(int n){int m;for(m=2;m<=n;m++){if(isPrime(m)&&(n%m==0)) break;void fenjie(int n){int m;printf("%d=%d",n,zhi(n));while(n>zhi(n)){m=zhi(n);n=n/m;printf("*%d",zhi(n));}}P47 1输出闰年#includeint f(int year);int main(){int year,k=0;for(year=1900;year<=2000;year++){if(f(year)){printf("%d\t",year);k++;if(k%5==0)printf("\n");}}return 0;}int f(int year){if((year%4==0&&year%100!=0)||(year%400==0)) return year;P47 2输出回⽂数#includeint fun(int n);int main(){int n,k=0;for(n=10;n<=2000;n++) {if(n == fun(n)){printf("%d\t",n);k++;if(k%5==0)printf("\n");}}return 0;}int fun(int n){int i=0;while(n>0){i=i*10+n%10;n=n/10;}return i;}P47 3进制转换#includevoid trans(int n,int base); int main()printf("请输⼊要转换的⼗进制数:"); scanf("%d",&n);printf("请输⼊转换的进制:"); scanf("%d",&base);trans(n,base);printf("\n");return 0;}(⽅法⼀)void trans(int n,int base){if(n){trans(n/base,base);if(n%base>=10)switch(n%base){case 10:printf("A");break;case 11:printf("B");break;case 12:printf("C");break;case 13:printf("D");break;case 14:printf("E");break;case 15:printf("F");break;}elseprintf("%d",n%base);}}(⽅法⼆)void trans(int n,int base){int r;char c;trans(n/base,base); r=n%base;if(r>=10)c='A'+r-10;elsec='0'+r;printf("%c",c);}}。
C语言上机题库百科园南信大
C语言上机题库百科园南信大Company number【1089WT-1898YT-1W8CB-9UUT-92108】第一章以下叙述中错误的是( )A.一个C语言程序只能有一个主函数B.C语言编写的每个函数都可以进行独立的编译并执行C.C语言编写的函数都可以作为一个独立的源程序文件D.C语言编写的函数源程序,其文件名后缀可以是C计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main的位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用的库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计的叙述中正确的是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序的模块化是利用函数实现的C.由三种基本结构构成的程序只能解决小规模的问题D.结构化程序使用goto语句会很便捷以下叙述正确的是( )A.在C程序中,main函数必须位于程序的最前面B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误C.C语言本身没有输入输出语句D.程序的每行中只能写一条语句以下叙述中错误的是( )A.C语言编写的每个函数都可以进行独立的编译并执行B.C语言编写的函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写的函数都可以作为一个独立的源程序文件以下叙述正确的是( )A.C程序的书写格式是固定的,每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中的拼写错误以下叙述正确的是( )A.C语言程序是由过程和函数组成的B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序的执行是从( )A.本程序文件的第一个函数开始,到本程序main函数结束B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C.本程序的main函数开始,到本程序文件的最后一个函数结束D.本程序的main函数开始,到main函数结束以下叙述不正确的是( )A.在C程序中,注释说明只能位于一条语句的后面B.C程序的基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
南京信息工程大学C语言题库
单项选择==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数v1.0 可编辑可修改D、C语言程序将从源程序中第一个函数开始执行答案:A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
《C语言程序设计》第6章习题答案
1、选择题(1)A(2)C(3)A(4)B(5)B(6)D(7)D(8)B(9)D(10)B2、填空题(1)a=10,b=20a=20,b=10(2)**pp=603、程序设计题(1)#include<stdio.h>char *month_name(int n);void main(){int n;printf("\nPlease enter 1 integer:");scanf("%d",&n);printf("%d month :%s\n",n,month_name(n));}char *month_name(int n){static char*name[]={"illegal month","Jan","Feb","Mar","Apr","May","Jun","July","Aug","Sept","Oct","Nov","Dec"};return ((n<1||n>12)?name[0]:name[n]);}(2)#include<stdio.h>#define N 10sort(int data[]){int i,j,min_a,temp;for(i=0;i<N;i++){min_a=i;for(j=i+1;j<N;j++)if(*(data+j)<*(data+min_a))min_a=j;if(min_a!=i){temp=*(data+min_a);*(data+min_a)=*(data+i);*(data+i)=temp;}}}main(){int i,j,data[N],temp;int min_a;printf("\nPlease input %d int:\n",N);for(i=0;i<N;i++)scanf("%d",&data[i]);sort(data);printf("After sorted:\n");for(i=0;i<N;i++)printf(" %d",data[i]);}(3)#include <stdlib.h>void reverse(char *c);void main(){char str[80];puts("Please enter 1 string\n");gets(str);reverse(str) ;puts("After reversed\n");puts(str);}void reverse(char *c){char *p,*q,temp;int size=0;for(p=c;*p!='\0';p++)size++;size=size/2;for(q=c,p--;q<c+size;q++,p--){temp=*q;*q=*p;*p=temp;}}(4)#include<stdio.h>#include<string.h>void sort(char *keyword[],int size);void print(char *keyword[],int size)void main(){char *keyword[]={"if","else","case","switch","do","whlie","for","break","continue"};sort(keyword,9);print(keyword,9);}void sort(char *keyword[],int size){int i,j,min_location;char *temp;for(i=0;i<size-1;i++){min_location=i;for(j=i+1;j<size;j++)if(strcmp(keyword[min_location],keyword[j])>0) min_location=j;if(min_location!=i){temp=keyword[i];keyword[i]=keyword[min_location];keyword[min_location]=temp;}}}void print(char *keyword[],int size){int i;for(i=0;i<size;i++)printf("\n%s",*(keyword+i));}(5)#include<stdio.h>void fun_char(char str1[],char str2[],char str3[]);void main(){char str1[80],str2[80],str3[80],c,i;printf("\nPlease enter 2 string:");scanf("%s%s",str1,str2);fun_char(str1,str2,str3);printf("Third string is %s.",str3);}void fun_char(char *str1,char *str2,char *str3){int i,j,k,flag;i=0,k=0;while(*(str1+i)!='\0'){j=0;flag=1;while(*(str2+j)!='\0'&&flag==1){if(*(str2+j)==*(str1+i)) flag=0;j++;}if(flag){*(str3+k)=*(str1+i); k++;}i++;}*(str3+k)='\0';}(6)#include<stdio.h>int count_word(char *str);void main(){char str1[80],c,res;puts("\nPlease enter a string:");gets(str1);printf("There are %d words in this sentence",count_word(str1)); }int count_word(char *str){int count ,flag;char *p;count=0;flag=0;p=str;while(*p!='\0'){if(*p==' ')flag=0;else if(flag==0){flag=1;count++;}p++;}return count;}(7)#include<stdio.h>#include<string.h>char *encrypt(char *string);char *decrypt(char *string);main(){char item[80];char *point;char *pEncrypted;char *pDecrype;printf("Please enter the string need to encrypt:\n");gets(item);point=item;pEncrypted=encrypt(point);printf("\nThe string after encrypted is:\n%s\n",pEncrypted); pDecrype=decrypt(pEncrypted);printf("\nThe string after decrypted is:\n%s\n",pDecrype);free(pEncrypted);free(pDecrype);}char *encrypt(char *string){char *q,*t;q=(char *)malloc(sizeof(char)*80);if(!q){printf("No place to malloc!");return 0;}t=q;while(*string!='\0'){*q=*string-2;string++;q++;}*q='\0';return t;}char *decrypt(char *string){char *q,*t;q=(char *)malloc(sizeof(char)*80); if(!q){printf("No place to malloc!");return 0;}t=q;while(*string!='\0'){*q=*string+2;string++;q++;}*q='\0';return t;}。
百科园C语言题库完整
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
C语言上机题库百科园第6章!南信大!
单选若已定义char s[10] ;则在下面表达式中不表示s[1] 的地址是( )。
A. &s[1]B. &s[0]+1C. s+1D. s++ 下面程序段的运行结果是( )。
char a[ ]= ”language ”, *p ;p=a ;while (*p!='u') { printf( “%c”,*p-32); p++ ; }A. languageB. langUAGEC. LANGUAGED. LANG 下面能正确进行字符串赋值操作的是( )A. char s[5]={'A','B','C','D','E'};B. char s[5]={"ABCDE"};C. char *s ; s="ABCDE" ;D. char *s; scanf("%s",s) ;设pl和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( ) 。
A. p2=c;B. c=*p1+*p2;C. p1=p2;D. c=*p1*(*p2);已有函数max(a,b),为了让函数指针变量p指向函数max正确的赋值方法是( ) 。
A. *p=max(a,b);B. *p=max;C. p=max;D. p=max(a,b);以下正确的叙述是( ) 。
A. C语言允许main函数带形参,且形参个数和形参名均可由用户指定B. 当main函数带有形参时,传给形参的值只能从命令行中得到C. 若有说明:int main(int argc,char **argv), 则argc 的值必须大于1D. C语言允许main函数带形参,形参名只能是argc和argv若有定义:int (*p)[4]; 则标识符p( ) 。
A. 是一个指针数组名B. 定义不合法C. 是一个指向整型变量的指针D. 是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:char s[ ]="china"; char *p ; p=s ; 则下面叙述正确的是()。
C语言上机题库百科园第优选章!南信大!
C语言上机题库百科园第优选章!南信大!第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}执行后输出结果是3.对for(表达式1;;表达式3)可理解为()。
(表达式1;1;表达式3)(表达式1;0;表达式3)(表达式1;表达式1;表达式3)(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;)printf("%d",i--);次次C.无限次次5.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
的值等于12345并且n的值大于等于3的值不等于12345并且n的值小于3的值不等于12345或者n的值小于3的值等于12345或者n的值大于等于36.有以下程序段intn=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
循环中,根据情况可以省略whileB.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句循环由do开始,用while结束,在while(表达式)后面不能写分号D.在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作7.执行语句for(i=1;i++<4;);后变量i的值是()。
百科园C语言题库
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4.一个C语言程序是由( ) C.函数组成5.以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6.以下叙述正确的是( ) C.c语言本身没有输入和输出语句7.以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8.以下叙述正确的是( )B.c程序中注释部分可以单独占一行9.以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10.一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11.以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
百科园C语言题库完整
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
C语言上机题库百科园南信大
第一章以下叙述中错误(de)是( )A.一个C语言程序只能有一个主函数B.C语言编写(de)每个函数都可以进行独立(de)编译并执行C.C语言编写(de)函数都可以作为一个独立(de)源程序文件D.C语言编写(de)函数源程序,其文件名后缀可以是C计算机高级语言程序(de)运行方法有编译执行和解释执行两种,以下叙述中正确(de)是( )A.C语言程序仅可以编译执行B.C语言程序仅可以解释执行C.以上说法都不对D.C语言程序既可以编译执行又可以解释执行C语言规定:在一个源程序中,main(de)位置( )A.可以任意B.必须在最后C.必须在最开始D.必须在系统调用(de)库函数后面一个C语言程序是由( )A.若干过程组成B.若干子程序组成C.函数组成D.一个主程序和若干子程序组成以下关于结构化程序设计(de)叙述中正确(de)是( )A.一个结构化程序必须同时由顺序、分支、循环三种结构组成B.在C语言中,程序(de)模块化是利用函数实现(de)C.由三种基本结构构成(de)程序只能解决小规模(de)问题D.结构化程序使用goto语句会很便捷以下叙述正确(de)是( )A.在C程序中,main函数必须位于程序(de)最前面B.在对一个C程序进行编译(de)过程中,可发现注释中(de)拼写错误C.C语言本身没有输入输出语句D.程序(de)每行中只能写一条语句以下叙述中错误(de)是( )A.C语言编写(de)每个函数都可以进行独立(de)编译并执行B.C语言编写(de)函数源程序,其文件名后缀可以是CC.一个C语言程序只能有一个主函数D.C语言编写(de)函数都可以作为一个独立(de)源程序文件以下叙述正确(de)是( )A.C程序(de)书写格式是固定(de),每行只能写一条语句B.C程序中注释部分可以单独占一行C.构成C程序(de)基本单位是函数,所有函数名都可以由用户命名D.在对C语言程序进行编译时,可以发现注释行中(de)拼写错误以下叙述正确(de)是( )A.C语言程序是由过程和函数组成(de)B.C语言函数不可以单独编译C.C语言中除了main函数,其他函数不可作为单独文件形式存在D.C语言函数可以嵌套调用,例如:fun(fun(x))一个C程序(de)执行是从( )A.本程序文件(de)第一个函数开始,到本程序main函数结束B.本程序文件(de)第一个函数开始,到本程序文件(de)最后一个函数结束C.本程序(de)main函数开始,到本程序文件(de)最后一个函数结束D.本程序(de)main函数开始,到main函数结束以下叙述不正确(de)是( )A.在C程序中,注释说明只能位于一条语句(de)后面B.C程序(de)基本组成单位是函数C.一个C源程序可由一个或多个函数组成D.一个C源程序必须包含一个main函数。
南信大 C++第六章数组指针与字符串
《面向对象程序设计》
Nanjing University of Information Science & Technology
int main() { cout << "Step one: " << endl; Point *ptr1 = new Point; //调用缺省构造函数 delete ptr1; //删除对象,自动调用析构函数
计算机与软件学院(School of Computer and Software)
《面向对象程序设计》
Nanjing University of Information Science & Technology
void mystring::print() The string is: init string { The string is: init string if (str_len) The string is: init string cout<<"The string is: "<<value<<endl;string The string is: init else The string is: init string cout<<"The string is NULL!\n";is: init string The string } The string is: init string int main() The string is: init string { The string is: init string mystring vector_string[10]; //声明对象数组 string The string is: init for (int i=0;i<10;i++) vector_string[i].set_value("init string"); for (i=0;i<10;i++) vector_string[i].print(); }
百科园C语言试题库
第一章1.以下叙述中错误的是( )B.C语言编写的每个函数都可以进行独立编译并执行2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )A.C语言程序仅可以编译执行3. C语言规定:在一个源程序中,main的位置( ) A.可以任意4. 一个C语言程序是由( ) C.函数组成5. 以下关于结构化程序设计的叙述中正确的是( ) B.c语言中,程序的模块化是利用函数实现的6. 以下叙述正确的是( ) C.c语言本身没有输入和输出语句7. 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立编译并执行8. 以下叙述正确的是( )B.c程序中注释部分可以单独占一行9. 以下叙述正确的是( )D.c语言函数可以嵌套调用,如fun(fun(x))10. 一个C程序的执行是从( )D.本程序main函数开始,到main函数结束11. 以下叙述不正确的是( )A.在c程序中,注释说明只能位于一条语句后面第二章单项选择1以下选项中非法的字符常量是( )(B ‘/019’)2设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()(C double)3判断字符型变量c1是否为数字字符的正确表达式为( )(A (C1>=‘0’)&&(C1<=‘9’))4若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为()(B 0和20)5下面四个选项中,均是不合法的用户标识符的选项是()。
(B b-a goto int)6判断字符型变量c1是否为小写字母的正确表达式为()。
(B (c1>=’a’)&&(c1<=’z’))7表达式18/4*sqrt(4.0)/8值的数据类型为()。
(B double)8下面四个选项中,均是合法的用户标识符的选项是()。
百科园c语言题库 -回复
百科园C语言题库
一、选择题
1.C语言中,以下哪个选项不是合法的字符常量?
2. A. 'A'
3. B. 'a'
4. C. '\0'
5. D. '\''
6.答案:D. '\'' 应该为 "''"
7.在C语言中,哪个运算符可以用于强制类型转换?
8. A. %
9. B. /
10. C. &
11. D. (type)
12.答案:D. (type)
13.下列哪个选项不是C语言的基本数据类型?
14. A. int
15. B. char
16. C. float
17. D. void
18.答案:D. void
二、填空题
1.在C语言中,主函数通常命名为____。
2.答案:main()
3.C语言中的注释可以使用____或____开头。
4.答案:// 单行注释 /多行注释/
5.结构体类型在C语言中定义时,必须使用关键字____。
6.答案:struct
三、简答题
1.写出C语言中定义一个整型变量的语句。
2.答案:int variableName;
3.描述C语言中数组的特性。
4.答案:数组是一种特殊的变量类型,可以存储多个相同类型的元素。
在C
语言中,数组必须先定义后使用,并且数组的大小是固定的。
数组的索引从0开始,可以用于循环和访问特定元素。
南京信息工程大学C语言题库
单项选择==================================================题号:13167以下叙述中正确的是()。
A、程序设计的任务就是确定所用算法B、程序设计的任务就是确定所用数据结构C、顺序,转移,选择程序设计的任务就是编写程序代码并上机调试D、以上三种说法都不完整答案:D题号:13162计算机能直接执行的程序是()。
A、可执行程序B、源程序C、汇编程序D、目标程序答案:A题号:13171下列叙述中正确的是()。
A、C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束B、可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C、main可作为用户标识符,用以命名任意一个函数作为主函数D、C语言程序将从源程序中第一个函数开始执行答案:A题号:13165在算法中,对需要执行的每一步操作,必须给出清楚、严格的规定。
这属于算法的()。
A、确定性B、正当性C、可行性D、有穷性答案:A题号:13164以下叙述中正确的是()。
A、用C语言编写的程序只能放在一个程序文件中B、C、D、答案:D题号:13169下列叙述中正确的是()。
A、在C程序中 main( )函数的位置是固定的B、每个C程序文件中都必须要有一个main( )函数C、C程序中所有函数之间都可以相互调用,与函数所处位置无关D、在C程序的函数中不能定义另一个函数答案:D题号:13191设有以下程序段:int m=0,n=0;char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入"10A9<CR> "(<CR> 为回车),则输出结果是()。
A、10,a,9B、10,A,0C、10,A,9D、10,a,0答案:C题号:13183若有以下程序段,其输出结果是()。
C语言上机题库百科园!南信大!
第三章1.为表示关系x≥y≥z,应使用的表达式是A.(x>=y)&&(y>=z)B.(x>=y>=z)C.(x>=y)AND(y>=z)D.(x>=y)&(y>=z)2.有以下程序main(){ int i;for(i=0; i<3; i++)switch(i){ case 1: printf("%d", i);case 2: printf("%d", i);default : printf("%d", i);}}执行后输出结果是A.011122B.120C.012020D.0123.对 for(表达式1; ;表达式3) 可理解为()。
A.for(表达式1;1;表达式3)B.for(表达式1;0;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)4.若i为整型变量,则以下循环执行次数是()。
for(i=2;i==0;) printf("%d",i--);A.0次B.1次C.无限次D.2次5.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);此处do-while循环的结束条件是______。
A.p的值等于12345并且n的值大于等于3B.p的值不等于12345并且n的值小于3C.p的值不等于12345或者n的值小于3D.p的值等于12345或者n的值大于等于36.有以下程序段int n=0,p;do{scanf("%d",&p);n++;}while(p!=12345&&n<3);以下描述中正确的是()。
A.do-while 循环中,根据情况可以省略 whileB.由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句C.do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号D.在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假")的操作7.执行语句 for(i=1;i++<4;); 后变量 i 的值是()。
南信大编译原理考题
注:加粗表示可能考简答题简答题(每小题5 分,共20 分)论述题(每小题10 分,共20 分)计算(每小题12 分,共60 分)1、编译程序的构成:源程序→词法分析→语法分析→语义分析和优化→目标代码生成第二章文法与语言1、一些概念性的东西(1)推导:句型→句子,自顶向下。
(2)归约:句子→句型,自底向上。
(2)句型:一个文法经过N(N>=1)步推导后得到的结果(含有非终结符号)(3)句子:一个文法经过N(N>=1)步推导后得到的结果(仅含有终结符号)(4)句柄:一个句型的最左简单短语。
(树的最下面)(5)V N:文法的非终结符号集合(6)V T:文法的终结符号集合(7)P:文法的规则的集合(8)S:文法的识别符号或开始符号(9)短语:由树的各个树叶节点组成的符号组,有相对于XX的区别。
(10)简单短语:也叫直接短语,有非终结符一步退出的短语。
2、Chomsky文法分类0型文法:短语结构文法→图灵机(TM,Turing Machine)1型文法(CSG):上下文有关文法→线性界限自动机(LBA,Linear bounded automata)2型文法(CFG):上下文无关文法→下推自动机(PDA,Push Down automata)3型文法(RG):正则文法→有穷状态自动机(FA,Finite automata)文法的判断:3型文法:①左边必须只有一个字符,且必须是非终结符;②其右边最多只能有两个字符,且当有两个字符时必须有一个为终结符而另一个为非终结符。
当右边只有一个字符时,此字符必须为终结符。
③对于3型文法中的所有产生式,其右边有两个字符的产生式,这些产生式右边两个字符中终结符和非终结符的相对位置一定要固定,也就是说如果一个产生式右边的两个字符的排列是:终结符+非终结符,那么所有产生式右边只要有两个字符的,都必须前面是终结符而后面是非终结符。
2型文法:①左边必须有且仅有一个非终结符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第六章单选若已定义char s[10];则在下面表达式中不表示s[1]的地址是()。
A.&s[1]B.&s[0]+1+1++下面程序段的运行结果是()。
char a[ ]=”language” , *p ;p=a ;while (*p!='u') { printf(“%c”,*p-32); p++ ; }下面能正确进行字符串赋值操作的是( )s[5]={'A','B','C','D','E'};s[5]={"ABCDE"};*s ; s="ABCDE" ;*s; scanf("%s",s) ;设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下能正确执行并得到有意义的结果的赋值语句是( )。
=c;=*p1+*p2;=p2;=*p1*(*p2);已有函数max(a,b),为了让函数指针变量p指向函数max,正确的赋值方法是( )。
A.*p=max(a,b);B.*p=max;=max;=max(a,b);以下正确的叙述是( )。
语言允许main函数带形参,且形参个数和形参名均可由用户指定B.当main函数带有形参时,传给形参的值只能从命令行中得到C.若有说明: int main(int argc,char **argv),则argc的值必须大于1语言允许main函数带形参,形参名只能是argc和argv若有定义:int (*p)[4];则标识符p( )。
A.是一个指针数组名B.定义不合法C.是一个指向整型变量的指针D.是一个指针,它指向一个含有四个整型元素的一维数组设有程序段:char s[ ]="china"; char *p ; p=s ;则下面叙述正确的是()。
A.*p与s[0]相等B.数组s中的内容和指针变量p中的内容相等数组长度和p所指向的字符串长度相等和p完全相同下面程序段的运行结果是( )。
char *s=”abcde” ;s+=2 ; printf(“%s”,s);A.字符'c'的地址B.不确定D.字符'c'下面判断正确的是()。
str[10]={"china"}; 等价于 char str[10]; str[ ]={"china";}c[4]="abc",d[4]="abc"; 等价于 char c[4]=d[4]="abc" ;*a="china"; 等价于 char *a; *a="china" ;*s="china"; 等价于 char *s; s="china" ;设有程序段:char s[ ]=”china”; char *p ; p=s ;则下面叙述正确的是()A.数组s中的内容和指针变量p中的内容相等B.*p与s[0]相等数组长度和p所指向的字符串长度相等和p完全相同已有变量定义和函数调用语句:int a=25;print_value(&a);下面函数的输出结果是( )void print_value(int *x){ printf(“%d\n”,++*x); }若有说明:int *p,m=5,n;以下程序段正确的是( )= &n ; *p = m ;=&n ;scanf("%d",&p);= &n ;scanf("%d",*p);("%d",&n); *p=n ;变量的指针,其含义是指该变量的( )A.值B.地址C.一个标志D.名已有定义int k=2;int *ptr1,*ptr2;且ptr1和ptr2均已指向变量k,下面不能正确执行的赋值语句是( )=k;=*ptr1+*ptr2;=*ptr1*(*ptr2);=ptr2程序设计/*请编写函数fun,该函数的功能是:判断字符串是否为回文,若是则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:*/#include <>#define N 80int fun(char str[]){/***************Begin************//*************** End ************/}void main(){char s[N];FILE *out;char test[][80]={"1234321","123421","123321","abcdCBA"};int i;printf("Enter a string : ");gets(s);printf("\n\n");puts(s);if(fun(s))printf("YES\n");elseprintf("NO\n");/************************************/out=fopen("debug\\","w");for(i=0;i<4;i++)if(fun(test[i]))fprintf(out,"YES\n");elsefprintf(out,"NO\n");fclose(out);/************************************/}【参考代码】int fun(char str[]){int i,n=0,fg=1,j=0;while (str[j]){n++;j++;}for(i=0;i<n/2;i++)/*循环比较字符*/if(str[i]==str[n-1-i]);/*相同,什么都不作*/else/*不同,直接跳出循环*/{fg=0;break;}return fg;}/*请编写函数fun,该函数的功能是:统计一行字符串中单词的个数,作为函数值返回。
一行字符串在主函数中输入,规定所有单词由小写字母组成,单词之间有若干个空格隔开,一行的开始没有空格。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:*/#include<>#include<>#define N 80int fun(char *s){/************Begin*************//*************End*************/}void main(){FILE *wf;char line[N];int num=0;printf("Enter a string:\n ");gets(line);num=fun(line);printf("The number of word is:%d\n\n ",num);/******************************/wf=fopen("d:\\","w");fprintf(wf,"%d",fun("This is a big car"));fclose(wf);/*****************************/}【参考代码】int i,j=0;for(i=0;s[i]!='\0';i++)if(s[i]!=' '&&(s[i+1]==' '||s[i+1]== '\0'))/*如果一个字母的下一个字符为空格或者结束标记,则表示一个单词结束*/j++;return j;/*返回单词个数*//*假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:除了字符串前导的*号之外,将串中其他*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容为****A*BC*DEF*G*******,删除后,字符串中的内容则应当是****ABCDEFG。
注意:部分源程序给出如下。
请勿改动main函数和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序: */#include <>#include <>void fun (char *a){/************Begin*************//************End**************/}void main(){char s[81];FILE *in,*out;int i;printf("Enter a string :\n");gets(s);fun(s);printf("The string after deleted:\n");puts(s);/******************************/in=fopen("","r");out=fopen("debug\\","w");for(i=0;i<8;i++){fscanf(in,"%s",s);fun(s);fprintf(out,"%s\n",s);}fclose(in);fclose(out);/******************************/}【参考代码】int i=0;char *p=a;while(*p&&*p=='*'){a[i]=*p;i++;p++;}while(*p){if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';/*假定输入的字符串中只包含字母和*号。