c语言上机实习填空题
- 格式:doc
- 大小:37.50 KB
- 文档页数:2
c语言知识点填空题大一C语言是一门广泛应用于程序设计和系统开发的编程语言。
掌握C语言的知识点对于大一学生来说至关重要。
以下是一些C语言知识点的填空题,帮助你巩固对这门语言的理解。
1. C语言中,____是由0和1组成的最小存储单元,用于表示数据的真值。
答案:位(bit)2. 在C语言中,____运算符可以用于获取变量的地址。
答案:&(取地址)3. C语言中,____运算符可以根据变量的地址访问变量的值。
答案:*(间接访问)4. 在C语言中,____语句用于重复执行一段代码,直到给定的条件不再满足。
答案:while5. 在C语言中,____语句用于跳出当前循环,并继续执行后续的代码。
答案:break6. 在C语言中,____语句用于跳过当前循环的剩余代码,并开始下一次循环。
答案:continue7. 在C语言中,____是一种特殊的函数,不返回任何值。
答案:void(空)8. 在C语言中,____是一种用于存储数据的结构,可以同时存储多个不同类型的数据。
答案:数组9. 在C语言中,____是一种用于存储多个相同类型的数据的集合。
答案:字符串10. 在C语言中,____关键字用于定义一个具有指定类型和名字的变量。
答案:int(整型)11. 在C语言中,____关键字用于定义一个可以修改的常量。
答案:const(常量)12. 在C语言中,____是一种选择结构,根据给定的条件执行不同的代码块。
答案:if...else13. 在C语言中,____是一种循环结构,当给定的条件为真时,重复执行代码块。
答案:for14. 在C语言中,____是一种逻辑运算符,用于表示逻辑"或"关系。
答案:||(或)15. 在C语言中,____是一种逻辑运算符,用于表示逻辑"与"关系。
答案:&&(与)16. 在C语言中,____是一种按位逻辑运算符,用于对二进制数进行逻辑运算。
C 语言上机模拟试题(附详细答案)1.程序填空题请补充main函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。
例如,输入abcdefghi*,结果显示adcdefghi。
请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。
注意:不得增行或删行,也不得更改程序的结构!#include <stdio.h>#include <windows.h>#define N 80main(){int i=-1,j=0;char str[N];system("cls");printf("\n Input a string \n");do{i++;/**********found**********/scanf(___1___);/**********found**********/}while(___2___);printf("\n**display the string** \n");while(j<i){/**********found**********/printf(___3___);j++;}}2.程序修改题下列给定程序中,函数fun()的功能是:用冒泡法对6个字符串按由小到大的顺序进行排序。
请改正程序中的错误,使其能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include <conio.h>#include <stdio.h>#include <windows.h>#define MAXLINE 20/**********found**********/fun(char *pstr[6]){int I, j;char *p;for(i=0;i<5;i++){for(j=i+1;j<6;j++)/**********found**********/{if(strcmp(*(pstr+i),pstr+j)>0){p=*(pstr+i);/**********found**********/*(pstr+i)=pstr+j;*(pstr+j)=p;}}}}main(){int I;char *pstr[6],str[6][MAXLINE];system("cls");for(i=0;i<6;i++) pstr[i]=str[i];printf("Enter 6 string(1 string at eachline):\n ");for(i=0;i<6;i++) scanf("%s",pstr[i]);fun(pstr);printf("The strings after sorting:\n ");for(i=0;i<6;i++)printf("%s\n",pstr[i]);}3.程序设计题学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写函数fun(),它的功能是:把低于平均分的学生数据放在b所指的数组中,低于平均分的学生人数通过形参n传回,平均分通过函数值返回。
二, 填空题( 10 道小题,共20 分)1、一个C 源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、i nt m=5,y=2; 则表达式y+=y- =m*=y 的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b ); 的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR> 代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return 】语句。
9、已知:float f1=3.2,f2,*pf仁&f1;f2=f1 ,则*f2 的值为。
[3.2]10 、以下程序void fun(char *a, char *b){ a=b; (*a)++; } main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf( “ &cn&”c ,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“ 123 ”在内存中的字节数是。
[8 字节]12、已有定义:int x=3 ; 则表达式:x=x+1.78 的值是。
填空题1) 请补充fun函数, fun函数的功能是求n的阶乘。
请勿改动主函数 main 和其他函数中的任何内容, 仅在 fun 函数的横线上填入所编写的若干表达式或 语句。
#include <stdio.h>long fun(int n){if (___1___)return (n*fun(___2___));return ___3___;}main(){printf("10!=%ld\n", fun(10));}2) 请在函数 fun 的横线上填写若干表达式,使从 键盘上输入一个整数 n,输出斐波纳契数列。
斐波 纳契数列是一种整数数列,其中每数等于前面两数 之和,如:0 1 1 2 3 5 8 13 ……请勿改动主函数 main 和其他函数中的任何内容, 仅在 fun 函数的横线上填入所编写的若干表达式或 语句。
#include <stdio.h>int fun(int n);main(){int i, n = 0;scanf("%d", &n);for (i=0; i<n; i++)printf("%d ", fun(i));}int fun(int n){if (___1___)return 0;else if (___2___)return 1;elsereturn ___3___;}3) 请补充函数 fun(char *s),该函数的功能是把字 符串中的内容逆置。
例如:字符串中原有的字符串为 abcde,则调用该 函数后,串中的内容为 edcba。
请勿改动主函数 main 和其他函数中的任何内容, 仅在 fun 函数的横线上填入所编写的若干表达式或 语句。
#include <string.h>#include <conio.h>#include <stdio.h>#define N 81void fun(char *s){int i, n = strlen(s)-1;char t;for (i=0; i<n; i++, ___1___){t = s[i];___2___;___3___;}}main(){char a[N];printf("Enter a string:");gets(a);printf("The original string is:");puts(a);fun(a);printf("\n");printf("The string after modified:");puts(a);}4) 请补充函数 fun, 它的功能是: 计算并输出 n (包 括 n)以内能被 3 或 7 整除的所有自然数的倒数之 和。
一、填空题(一)、数学解题方法:1、如果在函数中定义变量,但是没有定义成静态存储变量,即变量前面没有static,应给变量赋初值,如果以后用到的是加减运算,则赋初值为0或者0.0;如果以后用到的是乘除运算,则赋初值为1或者1.0;2、循环条件的填空,分析表达式的规律,看表达式中的最后一项的值是否到了第m项或者是第n项,如果到了第m或者第n项,则在循环中的第二个表达式中用到的是i<=m或者是i<n;3、循环条件中如果用的是while语句,则循环变量的初值应该在while的外面定义和赋初值,在循环语句中必须给变量自加或者是自减。
如果没有则一般填的是i++;4、看表达式中的每一项的运算规则,按照运算的规则把每一项中n值替换为i,特殊情况例外。
如果表达式中用到的是间隔相加减的运算时,注意给中间变量赋初值为1或者是1.0;在后面的运算中给变量乘以一个-1,以改变中间变量的符号。
(二)、字符串1、循环的条件是判断该字符是否和结束符相等,如果相等,说明该字符串结束,否则说明没有结束,继续循环。
2、把一个数字字符转变成对应的数值的格式是:ch=ch-…0‟;把大写字母转变为小写字母的格式;ch=ch+32;把小写字母转变为大写字母的格式为:ch=ch-32;3、区分好字符数组中的指针和指针所指的值的关系。
在循环语句中,当指针往后走一个位置的时候,用的是指针的自加,而不是指导针所指的值的自加。
4、掌握字符数组中的函数的使用的格式。
即:strlen、strcmp、strcpy、sizeof、strcat的使用格式。
注意里面的格式中使用的都是指针(或地址)。
5、字符数组结果时都有一个结束符:‟\0‟;在字符数组中的题目中的结束后要加上一个结束符。
(三)、结构体结构体类型的题目1、看清题目的意思。
2、定义结构体变量时的格式。
3、结构体中成员的调用格式。
结构体中的成员分为多种类型,调用结构体中的成员,使用的是“.”或者是“->”运算符。
c语言选择填空题C语言是一种计算机编程语言,在编程界有着广泛的应用。
C语言的选择填空题是一种考查学生C语言知识的题型,一般会给出一段C语言代码,并在代码中空出一些位置,要求学生填入正确的单词或者符号。
下面是一些例子:1.下面是一段C语言代码,请在空缺处填入正确的单词:int main() { int a, b, c; scanf("%d%d", &a, &b); c = a + b; printf("%d + %d = _______\n", a, b, c); return 0; }空缺处的答案是:c2.下面是一段C语言代码,请在空缺处填入正确的符号:int main() { int a = 10, b = 20; if (a < b) { printf("a < b\n"); } else { printf("a _______b\n"); } return 0; }空缺处的答案是:>3.下面是一段C语言代码,请在空缺处填入正确的符号:int main() { int a = 10, b = 20; if (a _______ b) { printf("a = b\n"); } else { printf("a !=b\n"); } return 0; }空缺处的答案是:==4.下面是一段C语言代码,请在空缺处填入正确的单词:int main() { int a = 10, b = 20; if (a < b) { printf("a < b\n"); } else if (a _______ b){ printf("a = b\n"); } else { printf("a > b\n"); } return 0; }空缺处的答案是:==C语言选择填空题是一种比较基础的题型,常见于C语言的初学者考试中。
计算机C语言填空题练习及参考答案第一题/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
-------------------------------------------------------*/#include <stdio.h>#include <conio.h>main(){int i,n,sum;sum=0;/***********SPACE***********/【1】;/***********SPACE***********/for(i=1;【2】;i++)/***********SPACE***********/if(【3】)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/***********SPACE***********/if(【4】)/***********SPACE***********/printf("【5】");}printf("total=%d\n",sum);}参考答案:【1】 n=0【2】 i<=300 或 i<300 或 300>=i 或 300>i【3】 i%7 == 0 || i%17 == 0或 !(i%7)||!(i%17) 或 !(i%17)||!(i%7) 或 !(i%7&&i%17) 【4】 n%5 == 0 或 !(n%5) 或 n/5*5==n【5】 \n第二题/*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。
大一c语言知识点填空题C语言是计算机科学和编程领域中最为常用的编程语言之一。
对于大一的学生来说,掌握C语言的基本知识点是非常重要的。
下面是一个关于大一C语言知识点的填空题,希望可以帮助你巩固所学的内容。
1. C语言中,用于声明一个变量的关键字是______。
答案:int2. 以下哪个是C语言的注释符号?答案://3. C语言中,用于引入标准输入输出函数的头文件是______。
答案:stdio.h4. 下面的代码段中,变量x的初始值是多少?int x = 10;答案:105. C语言中,用于执行循环语句的关键字是______。
答案:for6. 下列选项中,不是C语言基本数据类型的是______。
答案:String7. 下面的代码段中,循环将执行几次?for (int i = 0; i < 5; i++) {printf("Hello, World!\n");}答案:58. C语言中,用于判断条件语句的关键字是______。
答案:if9. 下列选项中,不是C语言逻辑运算符的是______。
答案:&答案:=11. 下面的代码段中,会输出什么结果?int a = 5;int b = 3;int c = a + b;printf("%d", c);答案:812. C语言中,用于声明一个常量的关键字是______。
答案:const13. 下面的代码段中,变量x的值是多少?int x = 10;x = x + 5;答案:15答案:-15. 下面的代码段中,函数的返回类型是什么?int add(int a, int b) {return a + b;}答案:int16. C语言中,用于声明一个字符变量的关键字是______。
答案:char17. 下列选项中,不是C语言赋值运算符的是______。
答案::=18. 下面的代码段中,会输出什么结果?int x = 10;if (x > 5) {printf("x is greater than 5");} else {printf("x is less than or equal to 5");}答案:x is greater than 519. C语言中,用于声明一个指针变量的关键字是______。
一、填空题考试做题要求:1、在__1__处填写正确的答案,并将下划线和数字删除。
2、将题目做完之后一定要保存。
3、不能删除/**********found**********/,也不能多行或少行。
1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。
当调用正确时, 程序输出:x1=5.000000, x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除, 使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。
不得增行或删行,也不得更改程序的结构!#include <stdio.h>double f1(double x){ return x*x; }double f2(double x, double y){ return x*y; }/**********found**********/__1__ fun(int i, double x, double y){ if (i==1)/**********found**********/return __2__(x);else/**********found**********/return __3__(x, y);}main(){ double x1=5, x2=3, r;r = fun(1, x1, x2);r += fun(2, x1, x2);printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n\n",x1, x2, r);}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。
函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。
#include <stdio.h>#include <string.h>struct student {long sno;char name[10];float score[3];};void fun(struct student a[], int n){ /**********found**********/__1__ t;int i, j;/**********found**********/for (i=0; i<__2__; i++)for (j=i+1; j<n; j++)/**********found**********/if (strcmp(__3__) > 0){ t = a[i]; a[i] = a[j];a[j] = t; }}main(){ struct student s[4]={ {10001,"ZhangSan", 95, 80, 88}, {10002,"LiSi", 85, 70, 78}, {10003,"CaoKai", 75, 60, 88},{10004,"FangFang", 90, 82, 87}};int i, j;printf("\n\nThe original data :\n\n");for (j=0; j<4; j++){printf("\nNo:%ldName:%-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}fun(s, 4);printf("\n\nThe data after sorting:\n\n");for (j=0; j<4; j++){ printf("\nNo: %ld Name: %-8sScores: ",s[j].sno, s[j].name);for (i=0; i<3; i++)printf("%6.2f ", s[j].score[i]);printf("\n");}}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。
填空题
第一题
题目要求(11)
下列给定程序中,函数fun的功能是:将形参中,各位偶数的数取出,并按原来从高位到低位相反的顺序组成一个新数,作为函数值返回。
例如,输入一个整数27638496,函数返回值为64862
#include <stdio.h>
unsigned long fun(unsigned long n)
{ unsigned long x=0; int t;
while(n)
{ t=n%10;
/**********found**********/
if(t%2==0)
/**********found**********/
x=10*x+t;
/**********found**********/
n=n/10;
}
return x;
}
main()
{ unsigned long n=-1;
while(n>99999999||n<0)
{ printf("Please input(0<n<100000000): "); scanf("%ld",&n); }
printf("\nThe result is: %ld\n",fun(n));
}
1、做题分析:
①本题考查:已知某数,如何求该数各个
位数值,已知各个位数值,如何表示该
数;除法运算。
将十位取出数以用于下
次运算故改为n/10
第二题(11)
1、题目要求
.给定程序的功能是;调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功时函数返回值是1,失败时返回值为O。
在复制的过程中,把复制的内容输出到终端屏幕。
主函数中源文件名放在变量sfname中,目标文件名放在变量tfname 中。
.
#include <stdio.h>
#include <stdlib.h>
int fun(char *source, char *target)
{ FILE *fs,*ft; char ch;
/**********found**********/
if((fs=fopen(source,“w”_))==NULL)
return 0;
if((ft=fopen(target, "w"))==NULL)
return 0;
printf("\nThe data in file :\n");
ch=fgetc(fs);
/**********found**********/
while(!feof(fs))
{ putchar( ch );
/**********found**********/
fputc(ch,ft);
ch=fgetc(fs);
}
fclose(fs); fclose(ft);
printf("\n\n");
return 1;
}
main()
{ char sfname[20] ="myfile1",tfname[20]="myfile2";
FILE *myf; int i; char c;
myf=fopen(sfname,"w");
printf("\nThe original data :\n");
for(i=1; i<30; i++){
c='A'+rand()%25;fprintf(myf,"%c",c);
printf("%c",c); }
fclose(myf);printf("\n\n");
if (fun(sfname, tfname)) printf("Succeed!");
else printf("Fail!");
}
答案:【1】“r”【2】fs 【3】ft
2、做题分析
①对数据文件部分的知识掌握不透彻。
首
先以读的方式打开文件看看是否有数据
在里面,然后再进行操作,故应将“w”
改为“r”。
第三题
1、题目要求
给定程序的功能是:从键盘输入若干行文件(每行不超过80个字符),写到文件myfile4.txt中,用-1作为字符串输入结束的标志。
然后将文件的内容读出显示在屏幕上。
文件的读写分别由自定义函数ReadText 和WriteText实现。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void WriteText(FILE *);
void ReadText(FILE *);
main()
{ FILE *fp;
if((fp=fopen("myfile4.txt","w"))==NUL L)
{ printf(" open fail!!\n"); exit(0); }
WriteText(fp);
fclose(fp);
if((fp=fopen("myfile4.txt","r"))==NUL L)
{ printf(" open fail!!\n"); exit(0); }
ReadText(fp);
fclose(fp);
}
/**********found**********/
void WriteText(FILE ___1___)
{ char str[81];
printf("\nEnter string with -1 to end :\n");
gets(str);
while(strcmp(str,"-1")!=0) {
/**********found**********/
fputs(___2___,fw);
fputs("\n",fw);
gets(str);
}
}
void ReadText(FILE *fr)
{ char str[81]; printf("\nRead file and output to screen :\n");
fgets(str,81,fr);
while( !feof(fr) ) {
/**********found**********/
printf("%s",___3___);
fgets(str,81,fr);
}
}
2、做题分析
答案:【1】*fw 【2】str 【3】str ①本题考查:函数定义以及文件指针;fputs 函数的功能是向指定的文件写入一个字符串,其调用形式为:fputs(字符串,文件指针)。
【解题思路】
填空1:定义函数,函数的形参是一个文件类型的指针。
填空2:此处考查fputs函数的形式,应填入str。
填空3:依据printf函数的格式,输出字符串内容,即printf("%s",str);。