- 相關(guān)推薦
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)考試練習(xí)題2017
在不斷的練習(xí)中總結(jié)出考試出題規(guī)律,是練習(xí)的意義所在。以下百分網(wǎng)小編整理的計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)考試練習(xí)題,希望對(duì)大家有所幫助,更多信息請(qǐng)關(guān)注應(yīng)屆畢業(yè)生網(wǎng)!
一、程序填空題
請(qǐng)補(bǔ)充函數(shù)proc(),該函數(shù)的功能是:把從主函數(shù)中輸入的字符串str2接在字符串strl的后面。
例如,str1="I am a",str2="student",結(jié)果輸出:I ama student。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語(yǔ)句。
試題程序:
#include
#include
#include
蚌define M 40
void proc(char*str1,char*str2)
{
int i=0;
char*p1=str1:
char*p2=str2:
while([11)
i++:
for(; 【2】 ;i++)
*(p1+i)=【3】;
*(p1+i)=’\0’;
}
void main()
{
char str1[M],str2[M];
system("CLS");
printf("****Input the string str1 &
str2****\n");
printf("\nstr1:");
gets(str1);
printf("\nstr2:");
gets(str2);
printf("**The string strl&str2**\n");
puts(str1);
puts(str2);
proc(str1,str2);
printf("****The new string****\n");
puts(str1);
)
二、程序改錯(cuò)題
下列給定程序中,函數(shù)proc()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。
例如,若輸入“I,am,A,Student",則輸出“i,am,a student"。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
#include
#include
#include
//****found****
char proc(char str[])
{
int1;
for(i=0;str[i];i+卜)
{
//****found****
if((str[i]>=’a’)&&(str[i]<=’z’))
str[i]+=32:
}
return(str);
}
void main()
{
char str[81];
system("CLS"):
printf("\nPlease enter a strin9:");
gets(str);
printf("\nThe result string is:\n%S",
proc(str));
}
三、程序設(shè)計(jì)題
下列程序定義了M×M的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)proc(inta[][M],int n),該函數(shù)的功能是:使數(shù)字右上半三角元素中的值乘以m。
例如,若m的值為5,a數(shù)組中的值為:
a=1 2
3 4
則返回主程序后a數(shù)組的值應(yīng)為:
5 10
3 20
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫的若干語(yǔ)句。
試題程序:
#include
#include
#include
#include
#define M 5
void proc(int a[][M],int m)
{
}
void main()
{
int arr[M][M],m,i,J;
system("CLS");
printf("****The array****\n");
srand((unsigned)time(NULL));
for(i=0;i //輸出一個(gè)隨機(jī)的5*5矩陣
{ for(j=0;j {arr[i][j]=rand()%20;
printf("%4d",arrEi]Ej]);
}
printf("\n");
}
do
m=rand()%10;
while(m>=3);//產(chǎn)生一個(gè)小于3的隨機(jī)數(shù)printf("m=%4d\n",m);proc(arr,m);
printf("THE RESULT\n");
for(i=0;i { for(j=0;j {
printf("%4d",arrEi]Ej]);
printf("\n");
}
}
上機(jī)考試試題答案與解析
一、程序填空題
【1】*(p1+i)【2】*p2【3】*p2++
【解析】要將字符串str2接在字符串str后面,首先要得到字符串str1的長(zhǎng)度,因此【1】填“*(pl+i)”。然后將字符串str2中的每一個(gè)字符接在字符串str]所有字符的后面,因此【2】填“*p2”;【3】填“*p2++”。
二、程序改錯(cuò)題
(1)錯(cuò)誤:char pro((char str[])
正確:char*proc(char str[])
(2)錯(cuò)誤:if((str1[i]>=’a’)&&(str[i]<=’z ’))正確:if((str[i]>:=’A’)&&(str[i]<=’Z’))【解析】由主函數(shù)中的函數(shù)調(diào)用及函數(shù)proc()的返回值,可知函數(shù)proc()的返回值類型為字符型指針,因此“char proc(char str[])”應(yīng)改勾“char*proc(char str[])”;題目中要求將所有的大寫字母轉(zhuǎn)化為小寫字母,因此“if((st[i]> =’a’)&&(str[i]<=z ’)”應(yīng)改為“if((st[i]>=’A’)&&(str[i]<=’Z’))”。
三、程序設(shè)計(jì)題
void proc(int a[][M],int m)
{
int i,j;
for(i=0;i for(j=i;j 示右上半三角的下標(biāo)a[i][j]=a[i][j]*m; //數(shù)字右上半三角元素中的值乘以rn}
【解析】二維數(shù)組中右上半三角元素的.特點(diǎn)為其行下標(biāo)小于等于其列下標(biāo)。根據(jù)這個(gè)特點(diǎn),找出二維數(shù)組中所有的右上半三角元素,并將其值乘以m放在原來(lái)的位置上。
【計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)考試練習(xí)題】相關(guān)文章:
計(jì)算機(jī)二級(jí)考試《C語(yǔ)言》上機(jī)答題技巧06-27
2017計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)考試技巧05-24
計(jì)算機(jī)二級(jí)考試C語(yǔ)言預(yù)測(cè)上機(jī)鞏固試題06-17
計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)考試題及答案04-09
2015計(jì)算機(jī)二級(jí)c語(yǔ)言上機(jī)題庫(kù)06-19
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)c語(yǔ)言上機(jī)題庫(kù)04-20
全國(guó)計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言上機(jī)精選訓(xùn)練06-29