- 相關(guān)推薦
2015計(jì)算機(jī)二級(jí)c語言上機(jī)題庫
1.給定程序中,函數(shù)fun的功能是將形參給定的字符串、整數(shù)、浮點(diǎn)數(shù)寫到文本 文件中,再用字符方式從此文本文件中逐個(gè)讀入并顯示在終端屏幕上。 請(qǐng)?jiān)诔绦虻南聞澗處填入正確的內(nèi)容并把下劃線刪除, 使程序得出正確的結(jié)果。
注意:源程序存放在考生文件夾下的BLANK1.C中。
不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
void fun(char *s, int a, double f)
{
__1__ fp;
char ch;
fp = fopen("file1.txt", "w");
fprintf(fp, "%s %d %f\n", s, a, f);
fclose(fp);
fp = fopen("file1.txt", "r");
printf("\nThe result :\n\n");
ch = fgetc(fp);
while (!feof(__2__)) {
putchar(__3__); ch = fgetc(fp); }
putchar('\n');
fclose(fp);
}
main()
{ char a[10]="Hello!"; int b=12345;
double c= 98.76;
fun(a,b,c);
}
【解題思路】:
本題是考察先把給定的數(shù)據(jù)寫入到文本文件中,再從該文件讀出并顯示在屏幕上。
第一處:定義文本文件類型變量,所以應(yīng)填:FILE *。
第二處:判斷文件是否結(jié)束,所以應(yīng)填:fp。
第三處:顯示讀出的字符,所以應(yīng)填:ch。
給定程序MODI1.C中函數(shù)fun的功能是: 依次取出字符串中所有數(shù)字字符, 形成新的字符串, 并取代原字符串。
2.請(qǐng)改正函數(shù)fun中指定部位的錯(cuò)誤, 使它能得出正確的結(jié)果。
注意: 不要改動(dòng)main函數(shù), 不得增行或刪行, 也不得更改程序的結(jié)構(gòu)!
給定源程序:
#include
void fun(char *s)
{ int i,j;
for(i=0,j=0; s[i]!='\0'; i++)
if(s[i]>='0' && s[i]<='9')
s[j]=s[i];
s[j]="\0";
}
main()
{ char item[80];
printf("\nEnter a string : ");gets(item);
printf("\n\nThe string is : \"%s\"\n",item);
fun(item);
printf("\n\nThe string of changing is : \"%s\"\n",item );
}
【解題思路】:
第一處: 要求是取出原字符串中所有數(shù)字字符組成一個(gè)新的字符串,程序中是使用變量j
來控制新字符串的位置,所以應(yīng)改為:s[j++]=s[i];。
第二處: 置新字符串的結(jié)束符,所以應(yīng)改為:s[j]='\0';.
3.請(qǐng)編寫函數(shù)fun, 函數(shù)的功能是: 將M行N列的二維數(shù)組中的字符數(shù)據(jù), 按列的順序依次放到一個(gè)字符串中。
例如, 二維數(shù)組中的數(shù)據(jù)為:
W W W W
S S S S
H H H H
則字符串中的內(nèi)容應(yīng)是: WSHWSHWSH。
注意:部分源程序在文件PROG1.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其它函數(shù)中的任何內(nèi)容, 僅在函數(shù)fun的花括號(hào)中填入
你編寫的若干語句。
給定源程序:
#include
#define M 3
#define N 4
void fun(char s[][N], char *b)
{
int i,j,n=0;
for(i=0; i < N;i++) /* 請(qǐng)?zhí)顚懴鄳?yīng)語句完成其功能 */
{
}
b[n]='\0';
}
main()
{ char a[100],w[M][N]={{'W','W','W','W'},{'S','S','S','S'},{'H','H','H','H'}};
int i,j;
printf("The matrix:\n");
for(i=0; i
{ for(j=0;j
printf("\n");
}
fun(w,a);
printf("The A string:\n");puts(a);
printf("\n\n");
NONO();
}
【解題思路】:
本題是把二維數(shù)組中的字符數(shù)據(jù)按列存放到一個(gè)字符串中。
1. 計(jì)算存放到一維數(shù)組中的位置。
2. 取出二維數(shù)組中的字符存放到一維數(shù)組(已計(jì)算出的位置)中。
【參考答案】:
void fun(char s[][N], char *b)
{
int i,j,n=0;
for(i=0; i < N;i++) /* 請(qǐng)?zhí)顚懴鄳?yīng)語句完成其功能 */
{
for(j = 0 ; j < M ; j++) {
b[n] = s[j][i] ;
n = i * M + j + 1;
}
}
b[n]='\0';
}
【計(jì)算機(jī)二級(jí)c語言上機(jī)題庫】相關(guān)文章:
2017計(jì)算機(jī)二級(jí)C語言上機(jī)題庫及答案08-07
計(jì)算機(jī)二級(jí)C語言程序上機(jī)指導(dǎo)10-29
計(jì)算機(jī)二級(jí)C語言預(yù)測(cè)上機(jī)精選訓(xùn)練題07-05
計(jì)算機(jī)二級(jí)考試《C語言》上機(jī)答題技巧06-27
2017計(jì)算機(jī)二級(jí)C語言上機(jī)特訓(xùn)題08-12
計(jì)算機(jī)二級(jí)C語言上機(jī)沖刺試題及答案08-29
計(jì)算機(jī)二級(jí)VF上機(jī)題庫及答案08-15