Ⅰ 求山東理工大學C語言實驗答案(在線等、求速度)
實驗一 簡單C程序的調試
一、實驗目的
熟悉在VC的運行環境下,編輯調試C語言程序的一般步驟。掌握編寫與調試簡單C語言程序的基本方法。
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 寫出本次實驗的實驗報告。
三、實驗內容
1.從鍵盤輸入一個以秒為單位的時間值(如10000秒),將其轉化為以時、分、秒錶示的時間值並輸出。
#include <stdio.h>
void main()
{int time,h,min,sec;
printf("請輸入時間,以秒為單位\n");
scanf("%d",&time);
h=time/3600;
min=(time%3600)/60;
sec=(time%3600)%60;
printf(" 時間轉換為:%d h %d min %d s\n",h,min,sec);
}
2.已知如下二元一次方程組的系數值,求該方程組的解。
a1x+b1y=c1
a2x+b2y=c2
#include <stdio.h>
void main()
{float a1,b1,c1,a2,b2,c2,m,n,p;
printf(" 請輸入二元一次方程組的各項參數:");
scanf("%f %f %f %f %f %f",&a1,&b1,&c1,&a2,&b2,&c2);
p=a1*b2-a2*b1;
if(p!=0)
m=(b2*c1-b1*c2)/(a1*b2-a2*b1);
n=(a1*c2-a2*c1)/(a1*b2-a2*b1);
printf("%fx+%fy=%f\n%fx+%fy=%f\n",a1,b1,c1,a2,b2,c2);
printf("解為:\n x=%f\n y=%f\n",m,n);
}
實驗二 順序結構程序設計
一、實驗目的
掌握順序程序設計的基本思想和順序程序設計的基本方法
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6. 寫出本次實驗的實驗報告。
三、實驗內容
1.編程序實現:輸入一個年份y,求出從公元1年1月1日到y年的1月1日,總共有多少天(提示:400年97閏)。
#include <stdio.h>
void main()
{
int year,days;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("公元1年1月1日到公元%d年1月1日有%d天。\n",year,days);
}
實驗三 選擇結構程序設計
一、 實驗目的
掌握選擇結構程序設計的一般方法及選擇結構程序的調試方法。
二、實驗要求
1. 仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2. 在VC運行環境下,編輯錄入源程序。
3. 調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4. 掌握如何根據出錯信息查找語法錯誤。
5. 掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6. 寫出本次實驗的實驗報告。
三、實驗內容
1.編程序實現:輸入一個年份和月份,求出這個月的天數並輸出。
#include <stdio.h>
void main()
{
int year,month,n;
printf("please enter a date like 2010/4\n");
scanf("%d/%d",&year,&month);
switch (month)
{
case 1: n=31;break;
case 2: n=28;break;
case 3: n=31;break;
case 4: n=30;break;
case 5: n=31;break;
case 6: n=30;break;
case 7: n=31;break;
case 8: n=31;break;
case 9: n=30;break;
case 10: n=31;break;
case 11: n=30;break;
case 12: n=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
printf("%d年%d月有%d天。、\n",year,month,n);
}
2.編程序實現:輸入一個年份y,求出y年的1月1日是星期幾(提示:公元1年1月1日是星期一)。
#include <stdio.h>
void main()
{
int m,n=0,year,i;
printf("please enter a year");
scanf("%d",&year);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
printf("%d年1月1日是",year);
m=n%7;
switch (m)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
3.(拓展題,選做)編程序實現:輸入任意一個日期的年、月、日的值,求出是星期幾並輸出。
#include <stdio.h>
void main()
{
int year,month, day,n,i;
printf("please enter a date like 2010/4/16\n");
scanf("%d/%d/%d",&year,&month,&day);
n=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4;
switch (month)
{
case 1: n+=day;break;
case 2: n+=day+31;break;
case 3: n+=day+59;break;
case 4: n+=day+90;break;
case 5: n+=day+120;break;
case 6: n+=day+151;break;
case 7: n+=day+181;break;
case 8: n+=day+212;break;
case 9: n+=day+243;break;
case 10: n+=day+274;break;
case 11: n+=day+304;break;
case 12: n+=day+344;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month>2)
n+=1;
n=n%7;
switch (n)
{
case 0: printf("星期天\n");
case 1:printf("星期一\n");break;
case 2:printf("星期二\n");break;
case 3:printf("星期三\n");break;
case 4:printf("星期四\n");break;
case 5:printf("星期五\n");break;
case 6:printf("星期六\n");break;
default:break;
}
}
實驗四 循環程序綜合應用
一、實驗目的:
掌握循環結構程序設計的一般方法及循環結構程序的調試方法,能夠綜合運用順序、選擇和循環結構解決一般難度的實際應用問題。
二、實驗要求:
1.仔細閱讀下列實驗內容,並編寫出相應的C語言源程序。
2.在VC運行環境下,編輯錄入源程序。
3.調試運行源程序,並記錄下調試運行過程中出現的所有錯誤及改正方法。
4.掌握如何根據出錯信息查找語法錯誤。
5.掌握如何通過動態跟蹤程序運行過程查找邏輯錯誤。
6.寫出本次實驗的實驗報告。
三、實驗內容:
1.編程序實現如下功能:輸入任意一個年份的值,按以下格式輸出該年份一月份的公歷日歷。
要求用循環控制列印。
2011年日歷
1月
日 一 二 三 四 五 六
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
#include <stdio.h>
void main()
{
int year,days,i,m,k=0,j;
printf("please enter a year:");
scanf("%d",&year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%
100)/4+1;
m=days%7;
printf("%d年日歷\n一月\n",year);
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i<=m;i++)
{
k++;
printf(" ");}
k=m;
for(j=1;j<=31;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
2.(拓展題,選做)編程序實現如下功能:輸入任意一個年份的值,輸出該年份全年的公歷日歷。#include <stdio.h>
void main()
{
int year,days,i,m,n,k=0,j,day,month;
printf("please enter a year:");
scanf("%d",&year);
printf("%d年日歷\n",year);
days=365*(year-1)+97*((year-1)/400)+24*(((year-1)%400)/100)+(((year-1)%400)%100)/4+1;
for(month=1;month<=12;month++)
{
switch (month)
{
case 1: day=31;break;
case 2: day=28;break;
case 3: day=31;break;
case 4: day=30;break;
case 5: day=31;break;
case 6: day=30;break;
case 7: day=31;break;
case 8: day=31;break;
case 9: day=30;break;
case 10: day=31;break;
case 11: day=30;break;
case 12: day=31;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month==2)
n=29;
switch (month)
{
case 1: days+=0;break;
case 2: days+=31;break;
case 3: days+=59;break;
case 4: days+=90;break;
case 5: days+=120;break;
case 6: days+=151;break;
case 7: days+=181;break;
case 8: days+=212;break;
case 9: days+=243;break;
case 10: days+=274;break;
case 11: days+=304;break;
case 12: days+=334;break;
default:break;
}
if(year%4==0&&year%100!=0||year%400==0&&month>2)
days+=1;
m=days%7;
printf("%d月\n",month),
printf(" 日 一 二 三 四 五 六\n");
for(i=1;i<=m;i++){k++;
printf(" ");}
k=m;
for(j=1;j<=day;j++)
{
k++;
printf("%3d",j);
if(k%7==0)
printf("\n");}
printf("\n");
}
}
都是同學啊!
最後兩題米看到答案,我的方法不大對,就不給你了。
Ⅱ 各位大哥哥大姐姐,誰有全國計算機二級java考試真題及答案,急,急,急!
這是我的一位計算機老師曾經給我的答案 你可以參考一下
基礎(合計20分)
單選題(15小題,每題1分,共15分)
(1) 計算機在實現工業自動化中的應用主要是進行( A )。
A) 實時控制 B)數據處理 C)數值計算 D)人工智慧
(2) 在計算機應用中,「計算機輔助設計」的英文縮寫為 ( A )。
A) CAD B)CAM C)CAE D)CAT
(3) 微型計算機中使用的滑鼠器是連接在 ( D )。
A) 列印機介面上 B)顯示器介面上
C) 並行介面上 D)串列介面上
(4) 下面關於普通顯示器的四條敘述中,正確的一條是( C )。
A) 顯示器是輸入設備 B)顯示器是輸入/輸出設備
C) 顯示器是輸出設備 D)顯示器是存儲設備
(5) Pentium Ⅲ/500微型計算機,其CPU的時鍾頻率是( B )。
A) 500KHz B)500MHz C)250KHz D)250MHz
(6) 計算機的主頻指的是 ( D )。
A) 硬碟讀寫速度,用Hz表示
B) 軟盤讀寫速度,用Hz表示
C) 顯示器輸出速度,用MHz表示
D) 時鍾頻率,用MHz表示
(7) 微型計算機中的CPU是由( C )。
A) 內存儲器和外存儲器組成
B) 微處理器和內存儲器組成
C) 運算器和控制器組成
D) 運算器和寄存器組成
(8) 微型計算機硬體系統中最核心的部件是 ( C )。
A) RAM和ROM B)輸入輸出設備 C)CPU D)主板
(9) Windows 2000中將文件「發送到」軟盤其實就是( C )。
A) 移動文件到軟盤
B) 在軟盤中建立文件的快捷方式
C) 將文件復制到軟盤
D) 將文件壓縮處理後保存到軟盤
(10) Windows 中「復制」命令的快捷鍵是( A )。
A)【Ctrl+C】 B)【Tab+C】 C)【Ait+C】 D)【Shift+C】
(11) 復制活動窗口的信息到剪貼板,只須按下( C )鍵即可。
A)【Alt+Esc】 B)【Ctrl+Shift】
C)【Alt+Print Screen】 D)【Print Screen】
(12) 與十六進制數(BC)等值的二進制數是( B )。
A)10111001 B)10111100
C)10101100 D)11011010
(13) 在Windows中,復制整個屏幕的信息到剪貼板,只須按下(D)鍵即可。
A)【Alt+Esc】 B)【Ctrl+Shift】
C)【Alt+Print Screen】 D)【Print Screen】
(14) 下面關於Windows 操作系統中刪除文件的說法,不正確的是( D )。
A) 可移動磁碟(如軟盤)上的文件被刪除後不能被恢復
B) 網路上的文件被刪除後不能被恢復
C) 在MS-DOS方式中被刪除的文件不能被恢復
D) 直接用滑鼠拖到「回收站」的文件不能被恢復
(15) 在Windows資源管理器中,選定文件後,( C )直接刪除文件而不把被刪除文件送入回收站。
A) 按【Alt+Del】鍵 B)按【Esc】鍵,再按【Del】鍵
C) 按【Shift+Del】鍵 D)按【Ctrl+Del】鍵
填空題(5小題,每題1分,共5分)
(1) 微機主存有ROM和RAM,計算機突然停電後,存儲的信息就會丟失的是( )。
答案:RAM
(2) 十進制數45等值的二進制數是( )。
答案:101101
(3) 八位二進制數可以表示的最大的十進制數(無符號)是( )。
答案:255
(4) 在Windows 98中,要查找所有的DOC文檔文件,應在「查找」對話框「名稱和位置」標簽的「名稱」文本框中輸入( )。
答案:*.DOC
(5) 絕對路徑是指從該文件所在的磁碟( )開始直到該文件所在目錄位置的目錄路徑。
答案:根目錄
語言(合計80分)
單選題(30小題,每題1分,共30分)
1) 以下正確的說法是( A )。
如果在一個函數中的復合語句中定義了一個變數,則該變數( )。
A、只在該復合語句中有效。
B、在該函數中有效。
C、在本程序范圍內均有效。
D、為非法變數。
2) 下面四個選項中,均是不合法的整型數量的選項是( D )。
A、-0f1 -0xffff 0011
B、-0Xcdf 017 12,456
C、-018 999 5e2
D、-0x48eg -068 03f
3) 若有代數式∶|3x+lgx|, 則正確的C語言表達式是( A )。
A、fabs(x*3+log10(x))
B、fabs((x*3+log(x))
C、fabs(x*3)+fabs(log(x))
D、fabs(x*3)+fabs(log10(x))
4) 若有變數說明: int a=0,b=0,c=0; ,以下符合C語言語法的賦值表達式是( B )。
A、a=9+b+c=a+9
B、a=9+b; c=a+9
C、 a=9+b,b++
D、a=9+b++=a+7
5) 以下選項中屬於C語言數據類型的是( C ).
A、復數型
B、邏輯型
C、雙精度型
D、集合型
6) 若以下變數均是整型,且num=Sum=7;則計算表達式Sum=num++,Sum++,++num後Sum的值為( A )。
A、7
B、8
C、9
D、10
7) 已有如下定義和輸入語句,若要求a1,a2,c1,c2的值分別為10,20,A和B,當從第一列開始輸入數據時,
正確的數據輸入方式是( C ),(注: _ 表示空格)
int al,a2,char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A、10A_20_B
B、10_A_20_B
C、10A20B
D、10A20_B
8) 設x、y均為float型變數,則以下不合法的賦值語句是( B )。
A、++x;
B、y=(x%2)/10;
C、x*=y+8;
D、x=y=0;
9) 邏輯運算符兩側運算對象的數據類型( D )。
A、只能是0或1
B、只能是0或非0正數
C、只能是整型或字元型數據
D、可以是任何類型的數據
10) 以下程序的運行結果是( D )。
void main(void)
{
int k=4,a=3,b=2,c=1;
printf("\n%d\n",k<a?k:c<b?c:a);
}
A、4
B、3
C、2
D、1
11) 判斷char型變數c1是否為大寫字母的正確表達式是( C )。
A、'A'<=c1<='Z'
B、(c1>='A')&(c1<='Z')
C、(c1>='A')&&(c1<='Z')
D、('A'<=c1)AND('Z'>=c1)
12) 若x、i、j、和k都是int型變數,則計算下面表達式後,x的值為( C )。
x=(i=4,j=16,k=32)
A、4
B、16
C、32
D、52
13) 下面程序的運行結果是( C )。
#include<stdio.h>
void main(void)
{
int num=0;
while(num<=2)
{
num++;
printf("%d ",num);
}
}
A、1
B、1 2
C、1 2 3
D、1 2 3 4
14) 若運行以下程序時, 從鍵盤輸入ADescriptor3, 則下面程序的運行結果是( D )。
#include<stdio.h>
void main(void)
{ char c;
int v0=0, v1=0,v2=0;
do
{
switch( c=getchar() )
{
case 'a': case 'A':
case 'e': case 'E':
case 'i': case 'I':
case 'o': case 'O':
case 'u': case 'U':v1+=1;
default:v0+=1;v2+=1;
}
} while( c!='\n' );
printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);
}
A、v0=7,v1=4,v2=7
B、v0=8,v1=4,v2=8
C、v0=11,v1=4,v2=11
D、v0=12,v1=4,v2=12
15) 在C語言中, 引用數組元素時, 其下標的數據類型允許是( C )。
A、整型常量。
B、整型表達式。
C、整型常量或整型表達式。
D、任何類型的表達式。
16) 下面程序段的運行結果是( C )。
char c[]="\t\v\\\Owill\n";
printf("%d",strlen(c));
A、14
B、3
C、9
D、字元串中有非法字元, 輸出值不確定
17) 判斷字元串a和b是否相等, 應當使用( D )。
A、if (a==b)
B、if (a=b)
C、if (strcpy(a,b))
D、if (strcmp(a,b))
18) 以下程序存在語法性錯誤,關於錯誤原因的正確說法是( C )。
void main(void))
{
int A=5,b;
void p_ch1();
...
b=p_ch1(A);
...
}
A、語句void p_ch1(); 有錯,它是函數調用語句,不能使用void說明。
B、變數名不能使用大寫字母。
C、函數說明和函數調用語句之間有矛盾。
D、函數名中不能使用下劃線。
19) 在C語言中,以下正確的說法是( A )。
A、實參和與其對應的形參各佔用獨立的存儲單元
B、實參和與其對應的形參共佔用一個存儲單元
C、只有當實參和與其對應的形參同名時才共佔用存儲單元
D、形參是虛擬的,不佔用存儲單元
20) 若使用一維數組名作函數實參,則以下正確的說法是( A )。
A、必須在主調函數中說明此數組的大小
B、實參數組類型與形參數組類型可以不匹配
C、在被調函數中,不需要考慮形參數組的大小
D、實參數組名與形參數組名必須一致
21) 以下敘述中不正確的是( C )。
A、預處理命令行都必須以#號開始。
B、在程序中凡是以#號開始的語句行都是預處理命令行。
C、C程序在執行過程中對預處理命令進行處理。
D、以下是正確的宏定義 #define IBM_PC
22) 若有定義:enum weekday{mon,tue,wed,thu,fri}workday;則錯誤的語句是( C )。
A、workday=(enum weekday)3;
B、workday=(enum weekday) (4-2);
C、workday=3;
D、workday=thu;
23) 為了求i的3次方,請選擇一個表達式填入,使程序可以正確執行。
#define CUBE(x) (x*x*x)
main
{
int i=4;
printf("%d",CUBE( D ));
}
A、i*i*i
B、x*x*x
C、x
D、i
24) 已有變數定義和函數調用語句:int a=25; print_value(&a);
下面函數的正確輸出結果是( D )。
void print_value(int *x)
{
printf("%d\n", ++*x);
}
A、23
B、24
C、25
D、26
25) 以下程序段的輸出結果為( A )。
char a[]="language",*ptr=a;
while(*ptr)
{
printf("%c",*ptr-32);
ptr++;
}
A、LANGUAGE
B、陷入死循環
C、有語法錯
D、language
26) 若有說明:char c='9',*sp1,*sp2; 以下均正確的一組賦值語句是( A )。
A、sp1=&c;sp2=sp1;
B、sp1=&c;sp2=&sp1;
C、sp1=&c;sp2=*sp1;
D、sp1=&c;*sp2=*sp1;
27) 已知學生記錄描述如下:下面對結構體成員"computer"的賦值方式正確是( C )。
struct student
{
int num;
char name[8];
struct
{
float math;
float engl;
float computer;
} mark;
} std;
A、student.computer=84;
B、mark.computer =84;
C、std.mark.computer=84;
D、std.computer=84;
28) 若有如下定義,則下面在scanf函數調用語句中對結構體成員的引用不正確是( A )。
struct pupil
{
char name[20];
int age;
int sex;
}
pup[5],*p;
A、scanf("%d",p->age);
B、scanf("%s",pup[0].name);
C、scanf("%d",&pup[0].age);
D、scanf("%d",&(pup[1].sex));
29) 以下程序的運行結果是( C )。
typedef union
{
long a[3];
int b[4];
char c[6];
} EXAM;
void main(void)
{
printf("%d\n",sizeof(EXAM));
}
A、20
B、26
C、12
D、8
30) 以讀寫方式打開一個已有的文本文件file1,下面fopen函數正確的調用方式是:( B )。
A、FILE *fp; ^fp=fopen("file1","r");
B、FILE *fp; ^fp=fopen("file1","r+");
C、FILE *fp; ^fp=fopen("file1","rb")
D、FILE *fp; ^fp=fopen("file1","rb+");
程序填空題(4小題,每題2~3空,每套10空,每空2分,共20分)
1) 將以下嵌套的if語句改寫在對應的switch語句, 使其完成相同的功能。
(假設mark的取值在1至100之間。)
if語句:
if(mark<60) k=1;
else if(mark<70)k=2;
else if(mark<80)k=3;
else if(mark<90)k=4;
else if(mark<=100)k=5;
switch語句:
switch( ① )
{
( ② ) k=1;break;
case 6 : k=2;break;
case 7 : k=3;break;
case 8 : k=4;break;
( ③ ) k=5;
}
答案:mark/10 case 0:case 1:case 2:case 3:case 4:case 5: default:或case 9:case 10:
2) 某服裝店經營套服,也單件出售。若買的不少於50套,每套80元;不足50套的每套90元;只買上衣每件60元;只買褲子每條45元。以下程序的功能是讀入所買上衣c和褲子t的件數,計算應付款m。
void main(void)
{
int c,t,m;
printf("input the number of coat and trousers your want buy:\n");
scanf("%d %d",&c,&t);
if ( ① )
if (c>=50) m=c*80;
else m=c*90;
else
if ( ② )
if (t>=50)m=t*80+(c-t)*60;
else m=t*90+(t-c)*60;
else
if ( ③ ) m=c*80+(t-c)*45;
else m=c*90+(t-c)*45;
printf("%d",m);
}
答案:c==t c>t c>=50
3) 以下程序是計算x,y,z三個數中值最小的。
void main(void)
{
int x=4,y=5,z=8;
int u,v;
u=x<y? ( ① ) ;
v=u<z? ( ② ) ;
printf("%d",v);
}
答案:x:y u:z
4) 閱讀下面的程序並回答問題。
void main(void)
{
int m,n,x,y;
scanf("%d,%d",&x,&y);
m=1;
n=1;
if (x>0) m=m+1;
if (x>y) n=m+n;
else if (x==y) n=5;
else n=2*m;
printf("m=%d,n=%d",m,n);
}
問題:為了使輸出n=4, x的輸入值應當為( ① ),y的輸入值應當為( ② )
註:必須使用C語言語法來描述,如:x<2 && x<3,否則不得分。
答案:x>0 && x<y y>x
運行結果填空題(2小題,每題5分,共10分)
1) 寫出程序的結果。( ① )
#include<stdio.h>
void main(void)
{
int m=11,n=10;
m-=n+1;
printf("%d",m);
m+=n+1;
printf("%d",m);
m*=n;
printf("%d",m);
m/=n+1;
printf("%d",m);
}
答案:0 11 110 10
2) 以下程序的運行結果是( ① ) 。
void main(void)
{
int t;
for(t=0;t<5;t++)
switch(t)
{
case 1:
printf("BB");
break;
case 2:
printf("\n");
break;
case 3:
case 4:
printf("A");
break;
}
}
答案:BB ^AA
概念填空題(10小題,每題1分,共10分)
1) 若有定義:int b=7; float a=2.5, c=4.7;則下面表達式的值為( ① )。
a+(b/3*(int)(a+c)/2)%4
答案:5.5
2) 設C語言中,一個int型數據在內存中佔2個位元組,則int型數據的取值范圍為( ① )—32767。
答案:-32768
3) 若x和a均是int型變數,則計算表達式(1)後的x值為( ① ),計算表達式(2)後的x值為4。
(1) x = ( a = 4 , 6 * 2)
(2) x = a = 4 , 6 * 2
答案:12
4) 每個語句後面必須加上( ① ),表示該語句結束。
答案:分號或/或;
5) 若有以下定義:int m=5,y=2;,則計算表達式y+=y-=m*=y後的y值是( ① )。
答案:-16
6) 若有定義:double x[3][5];,則x數組中行下標的下限為( ① ),列下標的上限為4。
答案:0
7) 在C語言中,&作為雙目運算符時表示的是( ① ),而作為單目運算符時表示的是地址。
答案:按位與
8) 若有以下定義和語句:
int a[5]={1,3,5,7,9},*p;
p=&a[2];
則++(*p)的值是( ① )。
答案:6
9) 若有以下定義和語句:
int *p[3],a[6],i;
for(i=0;i<3;i++) p[i]=&a[2*i];
則*p[1]引用的是a的數組元素a[2],*p[0]引用的是a的數組元素( ① );
*(p[1]+1)引用a的數組元素a[3]。
答案:a[0]
10) 在C程序中,文件可以用兩種方式存取,它們是( ① )和隨機存取。
答案:順序
判斷題(10小題,每題1分,共10分)
1) 字元型數據在內存中以其相應的ASCII碼存儲。
答案:正確
2) 在賦值表達式中,賦值號左邊的變數和右邊的表達式之值的數據類型可以不相同。
答案:正確
3) 當關系表達式不成立時,其值為1。
答案:錯誤
4) break語句不能用於循環語句和switch語句之外的任何其它語句中。
答案:正確
5) 數組的長度是固定的。
答案:正確
6) 若用數組名作為函數調用時的實參,則傳遞給形參的是數組的第一個元素值。
答案:錯誤
7) 宏的展開是在編譯程序時進行的。
答案:正確
8) 存放變數地址的變數稱為指針變數。
答案:正確
9) "c:\user\text.txt"是一個正確的文件描述。
答案:錯誤
10) 文件按照其數據讀、寫方式可以分為「文本文件」與「二進制文件」。
答案:錯誤